Commit e1f1f08e authored by Jorn Bruggeman's avatar Jorn Bruggeman
Browse files

check inputs against domain start and stop

parent 80180973
...@@ -1357,7 +1357,7 @@ contains ...@@ -1357,7 +1357,7 @@ contains
_DECLARE_INTERIOR_INDICES_ _DECLARE_INTERIOR_INDICES_
#ifndef NDEBUG #ifndef NDEBUG
call check_interior_location(self%domain%shape _POSTARG_INTERIOR_IN_, 'initialize_interior_state') call check_interior_location(self%domain%start, self%domain%stop _POSTARG_INTERIOR_IN_, 'initialize_interior_state')
#endif #endif
call cache_pack(self%domain, self%catalog, self%cache_fill_values, self%initialize_interior_state_job%first_task, self%cache_int _POSTARG_INTERIOR_IN_) call cache_pack(self%domain, self%catalog, self%cache_fill_values, self%initialize_interior_state_job%first_task, self%cache_int _POSTARG_INTERIOR_IN_)
...@@ -1394,7 +1394,7 @@ contains ...@@ -1394,7 +1394,7 @@ contains
_DECLARE_HORIZONTAL_INDICES_ _DECLARE_HORIZONTAL_INDICES_
#ifndef NDEBUG #ifndef NDEBUG
call check_horizontal_location(self%domain%shape _POSTARG_HORIZONTAL_IN_, 'initialize_bottom_state') call check_horizontal_location(self%domain%start, self%domain%stop _POSTARG_HORIZONTAL_IN_, 'initialize_bottom_state')
#endif #endif
call cache_pack(self%domain, self%catalog, self%cache_fill_values, self%initialize_bottom_state_job%first_task, self%cache_hz _POSTARG_HORIZONTAL_IN_) call cache_pack(self%domain, self%catalog, self%cache_fill_values, self%initialize_bottom_state_job%first_task, self%cache_hz _POSTARG_HORIZONTAL_IN_)
...@@ -1431,7 +1431,7 @@ contains ...@@ -1431,7 +1431,7 @@ contains
_DECLARE_HORIZONTAL_INDICES_ _DECLARE_HORIZONTAL_INDICES_
#ifndef NDEBUG #ifndef NDEBUG
call check_horizontal_location(self%domain%shape _POSTARG_HORIZONTAL_IN_, 'initialize_surface_state') call check_horizontal_location(self%domain%start, self%domain%stop _POSTARG_HORIZONTAL_IN_, 'initialize_surface_state')
#endif #endif
call cache_pack(self%domain, self%catalog, self%cache_fill_values, self%initialize_surface_state_job%first_task, self%cache_hz _POSTARG_HORIZONTAL_IN_) call cache_pack(self%domain, self%catalog, self%cache_fill_values, self%initialize_surface_state_job%first_task, self%cache_hz _POSTARG_HORIZONTAL_IN_)
...@@ -1469,7 +1469,7 @@ contains ...@@ -1469,7 +1469,7 @@ contains
_DECLARE_INTERIOR_INDICES_ _DECLARE_INTERIOR_INDICES_
#ifndef NDEBUG #ifndef NDEBUG
call check_interior_location(self%domain%shape _POSTARG_INTERIOR_IN_, 'get_interior_sources_rhs') call check_interior_location(self%domain%start, self%domain%stop _POSTARG_INTERIOR_IN_, 'get_interior_sources_rhs')
# ifdef _FABM_VECTORIZED_DIMENSION_INDEX_ # ifdef _FABM_VECTORIZED_DIMENSION_INDEX_
call check_extents_2d(dy, _STOP_ - _START_ + 1, size(self%interior_state_variables), 'get_interior_sources_rhs', 'dy', 'stop-start+1, # interior state variables') call check_extents_2d(dy, _STOP_ - _START_ + 1, size(self%interior_state_variables), 'get_interior_sources_rhs', 'dy', 'stop-start+1, # interior state variables')
# else # else
...@@ -1495,7 +1495,7 @@ contains ...@@ -1495,7 +1495,7 @@ contains
_DECLARE_INTERIOR_INDICES_ _DECLARE_INTERIOR_INDICES_
#ifndef NDEBUG #ifndef NDEBUG
call check_interior_location(self%domain%shape _POSTARG_INTERIOR_IN_, 'get_interior_sources_ppdd') call check_interior_location(self%domain%start, self%domain%stop _POSTARG_INTERIOR_IN_, 'get_interior_sources_ppdd')
# ifdef _FABM_VECTORIZED_DIMENSION_INDEX_ # ifdef _FABM_VECTORIZED_DIMENSION_INDEX_
call check_extents_3d(pp, _STOP_ - _START_ + 1, size(self%interior_state_variables), size(self%interior_state_variables), 'get_interior_sources_ppdd', 'pp', 'stop-start+1, # interior state variables, # interior state variables') call check_extents_3d(pp, _STOP_ - _START_ + 1, size(self%interior_state_variables), size(self%interior_state_variables), 'get_interior_sources_ppdd', 'pp', 'stop-start+1, # interior state variables, # interior state variables')
call check_extents_3d(dd, _STOP_ - _START_ + 1, size(self%interior_state_variables), size(self%interior_state_variables), 'get_interior_sources_ppdd', 'dd', 'stop-start+1, # interior state variables, # interior state variables') call check_extents_3d(dd, _STOP_ - _START_ + 1, size(self%interior_state_variables), size(self%interior_state_variables), 'get_interior_sources_ppdd', 'dd', 'stop-start+1, # interior state variables, # interior state variables')
...@@ -1537,7 +1537,7 @@ contains ...@@ -1537,7 +1537,7 @@ contains
_DECLARE_INTERIOR_INDICES_ _DECLARE_INTERIOR_INDICES_
#ifndef NDEBUG #ifndef NDEBUG
call check_interior_location(self%domain%shape _POSTARG_INTERIOR_IN_, 'check_interior_state') call check_interior_location(self%domain%start, self%domain%stop _POSTARG_INTERIOR_IN_, 'check_interior_state')
#endif #endif
self%cache_int%repair = repair self%cache_int%repair = repair
...@@ -1615,7 +1615,7 @@ contains ...@@ -1615,7 +1615,7 @@ contains
logical, intent(out) :: valid logical, intent(out) :: valid
#ifndef NDEBUG #ifndef NDEBUG
call check_horizontal_location(self%domain%shape _POSTARG_HORIZONTAL_IN_, 'check_bottom_state') call check_horizontal_location(self%domain%start, self%domain%stop _POSTARG_HORIZONTAL_IN_, 'check_bottom_state')
#endif #endif
call internal_check_horizontal_state(self, self%check_bottom_state_job _POSTARG_HORIZONTAL_IN_, 2, self%bottom_state_variables, repair, valid) call internal_check_horizontal_state(self, self%check_bottom_state_job _POSTARG_HORIZONTAL_IN_, 2, self%bottom_state_variables, repair, valid)
...@@ -1628,7 +1628,7 @@ contains ...@@ -1628,7 +1628,7 @@ contains
logical, intent(out) :: valid logical, intent(out) :: valid
#ifndef NDEBUG #ifndef NDEBUG
call check_horizontal_location(self%domain%shape _POSTARG_HORIZONTAL_IN_, 'check_surface_state') call check_horizontal_location(self%domain%start, self%domain%stop _POSTARG_HORIZONTAL_IN_, 'check_surface_state')
#endif #endif
call internal_check_horizontal_state(self, self%check_surface_state_job _POSTARG_HORIZONTAL_IN_, 1, self%surface_state_variables, repair, valid) call internal_check_horizontal_state(self, self%check_surface_state_job _POSTARG_HORIZONTAL_IN_, 1, self%surface_state_variables, repair, valid)
...@@ -1779,7 +1779,7 @@ contains ...@@ -1779,7 +1779,7 @@ contains
_DECLARE_HORIZONTAL_INDICES_ _DECLARE_HORIZONTAL_INDICES_
#ifndef NDEBUG #ifndef NDEBUG
call check_horizontal_location(self%domain%shape _POSTARG_HORIZONTAL_IN_, 'get_surface_sources') call check_horizontal_location(self%domain%start, self%domain%stop _POSTARG_HORIZONTAL_IN_, 'get_surface_sources')
# ifdef _HORIZONTAL_IS_VECTORIZED_ # ifdef _HORIZONTAL_IS_VECTORIZED_
call check_extents_2d(flux_pel, _STOP_ - _START_ + 1, size(self%interior_state_variables), 'get_surface_sources', 'flux_pel', 'stop-start+1, # interior state variables') call check_extents_2d(flux_pel, _STOP_ - _START_ + 1, size(self%interior_state_variables), 'get_surface_sources', 'flux_pel', 'stop-start+1, # interior state variables')
if (present(flux_sf)) call check_extents_2d(flux_sf, _STOP_ - _START_ + 1, size(self%surface_state_variables), 'get_surface_sources', 'flux_sf', 'stop-start+1, # surface state variables') if (present(flux_sf)) call check_extents_2d(flux_sf, _STOP_ - _START_ + 1, size(self%surface_state_variables), 'get_surface_sources', 'flux_sf', 'stop-start+1, # surface state variables')
...@@ -1817,7 +1817,7 @@ contains ...@@ -1817,7 +1817,7 @@ contains
_DECLARE_HORIZONTAL_INDICES_ _DECLARE_HORIZONTAL_INDICES_
#ifndef NDEBUG #ifndef NDEBUG
call check_horizontal_location(self%domain%shape _POSTARG_HORIZONTAL_IN_, 'get_bottom_sources_rhs') call check_horizontal_location(self%domain%start, self%domain%stop _POSTARG_HORIZONTAL_IN_, 'get_bottom_sources_rhs')
# ifdef _HORIZONTAL_IS_VECTORIZED_ # ifdef _HORIZONTAL_IS_VECTORIZED_
call check_extents_2d(flux_pel, _STOP_ - _START_ + 1, size(self%interior_state_variables), 'get_bottom_sources_rhs', 'flux_pel', 'stop-start+1, # interior state variables') call check_extents_2d(flux_pel, _STOP_ - _START_ + 1, size(self%interior_state_variables), 'get_bottom_sources_rhs', 'flux_pel', 'stop-start+1, # interior state variables')
call check_extents_2d(flux_ben, _STOP_ - _START_ + 1, size(self%bottom_state_variables), 'get_bottom_sources_rhs', 'flux_ben', 'stop-start+1, # bottom state variables') call check_extents_2d(flux_ben, _STOP_ - _START_ + 1, size(self%bottom_state_variables), 'get_bottom_sources_rhs', 'flux_ben', 'stop-start+1, # bottom state variables')
...@@ -1852,7 +1852,7 @@ contains ...@@ -1852,7 +1852,7 @@ contains
_DECLARE_HORIZONTAL_INDICES_ _DECLARE_HORIZONTAL_INDICES_
#ifndef NDEBUG #ifndef NDEBUG
call check_horizontal_location(self%domain%shape _POSTARG_HORIZONTAL_IN_, 'get_bottom_sources_ppdd') call check_horizontal_location(self%domain%start, self%domain%stop _POSTARG_HORIZONTAL_IN_, 'get_bottom_sources_ppdd')
#endif #endif
call cache_pack(self%domain, self%catalog, self%cache_fill_values, self%get_bottom_sources_job%first_task, self%cache_hz _POSTARG_HORIZONTAL_IN_) call cache_pack(self%domain, self%catalog, self%cache_fill_values, self%get_bottom_sources_job%first_task, self%cache_hz _POSTARG_HORIZONTAL_IN_)
...@@ -1884,7 +1884,7 @@ contains ...@@ -1884,7 +1884,7 @@ contains
_DECLARE_INTERIOR_INDICES_ _DECLARE_INTERIOR_INDICES_
#ifndef NDEBUG #ifndef NDEBUG
call check_interior_location(self%domain%shape _POSTARG_INTERIOR_IN_, 'get_vertical_movement') call check_interior_location(self%domain%start, self%domain%stop _POSTARG_INTERIOR_IN_, 'get_vertical_movement')
# ifdef _FABM_VECTORIZED_DIMENSION_INDEX_ # ifdef _FABM_VECTORIZED_DIMENSION_INDEX_
call check_extents_2d(velocity, _STOP_ - _START_ + 1, size(self%interior_state_variables), 'get_vertical_movement', 'velocity', 'stop-start+1, # interior state variables') call check_extents_2d(velocity, _STOP_ - _START_ + 1, size(self%interior_state_variables), 'get_vertical_movement', 'velocity', 'stop-start+1, # interior state variables')
# else # else
...@@ -1910,7 +1910,7 @@ contains ...@@ -1910,7 +1910,7 @@ contains
_DECLARE_INTERIOR_INDICES_ _DECLARE_INTERIOR_INDICES_
#ifndef NDEBUG #ifndef NDEBUG
call check_interior_location(self%domain%shape _POSTARG_INTERIOR_IN_, 'get_interior_conserved_quantities') call check_interior_location(self%domain%start, self%domain%stop _POSTARG_INTERIOR_IN_, 'get_interior_conserved_quantities')
# ifdef _FABM_VECTORIZED_DIMENSION_INDEX_ # ifdef _FABM_VECTORIZED_DIMENSION_INDEX_
call check_extents_2d(sums, _STOP_ - _START_ + 1, size(self%conserved_quantities), 'get_interior_conserved_quantities', 'sums', 'stop-start+1, # conserved quantities') call check_extents_2d(sums, _STOP_ - _START_ + 1, size(self%conserved_quantities), 'get_interior_conserved_quantities', 'sums', 'stop-start+1, # conserved quantities')
# else # else
...@@ -1934,7 +1934,7 @@ contains ...@@ -1934,7 +1934,7 @@ contains
_DECLARE_HORIZONTAL_INDICES_ _DECLARE_HORIZONTAL_INDICES_
#ifndef NDEBUG #ifndef NDEBUG
call check_horizontal_location(self%domain%shape _POSTARG_HORIZONTAL_IN_, 'get_horizontal_conserved_quantities') call check_horizontal_location(self%domain%start, self%domain%stop _POSTARG_HORIZONTAL_IN_, 'get_horizontal_conserved_quantities')
# ifdef _HORIZONTAL_IS_VECTORIZED_ # ifdef _HORIZONTAL_IS_VECTORIZED_
call check_extents_2d(sums, _STOP_ - _START_ + 1, size(self%conserved_quantities), 'get_horizontal_conserved_quantities', 'sums', 'stop-start+1, # conserved quantities') call check_extents_2d(sums, _STOP_ - _START_ + 1, size(self%conserved_quantities), 'get_horizontal_conserved_quantities', 'sums', 'stop-start+1, # conserved quantities')
# else # else
......
...@@ -15,60 +15,60 @@ module fabm_debug ...@@ -15,60 +15,60 @@ module fabm_debug
contains contains
subroutine check_interior_location(domain_size _POSTARG_INTERIOR_IN_, routine) subroutine check_interior_location(domain_start, domain_stop _POSTARG_INTERIOR_IN_, routine)
integer, intent(in) :: domain_size(_FABM_DIMENSION_COUNT_) integer, dimension(_FABM_DIMENSION_COUNT_), intent(in) :: domain_start, domain_stop
_DECLARE_ARGUMENTS_INTERIOR_IN_ _DECLARE_ARGUMENTS_INTERIOR_IN_
character(len=*), intent(in) :: routine character(len=*), intent(in) :: routine
#ifdef _FABM_VECTORIZED_DIMENSION_INDEX_ #ifdef _FABM_VECTORIZED_DIMENSION_INDEX_
call check_loop(_START_, _STOP_, domain_size(_FABM_VECTORIZED_DIMENSION_INDEX_), routine) call check_loop(_START_, _STOP_, domain_start(_FABM_VECTORIZED_DIMENSION_INDEX_), domain_stop(_FABM_VECTORIZED_DIMENSION_INDEX_), routine)
#endif #endif
#if _FABM_DIMENSION_COUNT_>0&&_FABM_VECTORIZED_DIMENSION_INDEX_!=1 #if _FABM_DIMENSION_COUNT_>0&&_FABM_VECTORIZED_DIMENSION_INDEX_!=1
call check_index(i__, domain_size(1), routine, 'i') call check_index(i__, domain_start(1), domain_stop(1), routine, 'i')
#endif #endif
#if _FABM_DIMENSION_COUNT_>1&&_FABM_VECTORIZED_DIMENSION_INDEX_!=2 #if _FABM_DIMENSION_COUNT_>1&&_FABM_VECTORIZED_DIMENSION_INDEX_!=2
call check_index(j__, domain_size(2), routine, 'j') call check_index(j__, domain_start(2), domain_stop(2), routine, 'j')
#endif #endif
#if _FABM_DIMENSION_COUNT_>2&&_FABM_VECTORIZED_DIMENSION_INDEX_!=3 #if _FABM_DIMENSION_COUNT_>2&&_FABM_VECTORIZED_DIMENSION_INDEX_!=3
call check_index(k__, domain_size(3), routine, 'k') call check_index(k__, domain_start(3), domain_stop(3), routine, 'k')
#endif #endif
end subroutine check_interior_location end subroutine check_interior_location
subroutine check_horizontal_location(domain_size _POSTARG_HORIZONTAL_IN_, routine) subroutine check_horizontal_location(domain_start, domain_stop _POSTARG_HORIZONTAL_IN_, routine)
integer, intent(in) :: domain_size(_FABM_DIMENSION_COUNT_) integer, dimension(_FABM_DIMENSION_COUNT_), intent(in) :: domain_start, domain_stop
_DECLARE_ARGUMENTS_HORIZONTAL_IN_ _DECLARE_ARGUMENTS_HORIZONTAL_IN_
character(len=*), intent(in) :: routine character(len=*), intent(in) :: routine
#ifdef _HORIZONTAL_IS_VECTORIZED_ #ifdef _HORIZONTAL_IS_VECTORIZED_
call check_loop(_START_, _STOP_, domain_size(_FABM_VECTORIZED_DIMENSION_INDEX_), routine) call check_loop(_START_, _STOP_, domain_start(_FABM_VECTORIZED_DIMENSION_INDEX_), domain_stop(_FABM_VECTORIZED_DIMENSION_INDEX_), routine)
#endif #endif
#if _FABM_DIMENSION_COUNT_>0&&_FABM_VECTORIZED_DIMENSION_INDEX_!=1&&_FABM_DEPTH_DIMENSION_INDEX_!=1 #if _FABM_DIMENSION_COUNT_>0&&_FABM_VECTORIZED_DIMENSION_INDEX_!=1&&_FABM_DEPTH_DIMENSION_INDEX_!=1
call check_index(i__, domain_size(1), routine, 'i') call check_index(i__, domain_start(1), domain_stop(1), routine, 'i')
#endif #endif
#if _FABM_DIMENSION_COUNT_>1&&_FABM_VECTORIZED_DIMENSION_INDEX_!=2&&_FABM_DEPTH_DIMENSION_INDEX_!=2 #if _FABM_DIMENSION_COUNT_>1&&_FABM_VECTORIZED_DIMENSION_INDEX_!=2&&_FABM_DEPTH_DIMENSION_INDEX_!=2
call check_index(j__, domain_size(2), routine, 'j') call check_index(j__, domain_start(2), domain_stop(2), routine, 'j')
#endif #endif
#if _FABM_DIMENSION_COUNT_>2&&_FABM_VECTORIZED_DIMENSION_INDEX_!=3&&_FABM_DEPTH_DIMENSION_INDEX_!=3 #if _FABM_DIMENSION_COUNT_>2&&_FABM_VECTORIZED_DIMENSION_INDEX_!=3&&_FABM_DEPTH_DIMENSION_INDEX_!=3
call check_index(k__, domain_size(3), routine, 'k') call check_index(k__, domain_start(3), domain_stop(3), routine, 'k')
#endif #endif
end subroutine check_horizontal_location end subroutine check_horizontal_location
subroutine check_vertical_location(domain_size _POSTARG_VERTICAL_IN_, routine) subroutine check_vertical_location(domain_start, domain_stop _POSTARG_VERTICAL_IN_, routine)
integer, intent(in) :: domain_size(_FABM_DIMENSION_COUNT_) integer, dimension(_FABM_DIMENSION_COUNT_), intent(in) :: domain_start, domain_stop
_DECLARE_ARGUMENTS_VERTICAL_IN_ _DECLARE_ARGUMENTS_VERTICAL_IN_
character(len=*), intent(in) :: routine character(len=*), intent(in) :: routine
#ifdef _FABM_DEPTH_DIMENSION_INDEX_ #ifdef _FABM_DEPTH_DIMENSION_INDEX_
call check_loop(_VERTICAL_START_, _VERTICAL_STOP_, domain_size(_FABM_DEPTH_DIMENSION_INDEX_), routine) call check_loop(_VERTICAL_START_, _VERTICAL_STOP_, domain_start(_FABM_DEPTH_DIMENSION_INDEX_), domain_stop(_FABM_DEPTH_DIMENSION_INDEX_), routine)
#endif #endif
#if _FABM_DIMENSION_COUNT_>0&&_FABM_DEPTH_DIMENSION_INDEX_!=1 #if _FABM_DIMENSION_COUNT_>0&&_FABM_DEPTH_DIMENSION_INDEX_!=1
call check_index(i__, domain_size(1), routine, 'i') call check_index(i__, domain_start(1), domain_stop(1), routine, 'i')
#endif #endif
#if _FABM_DIMENSION_COUNT_>1&&_FABM_DEPTH_DIMENSION_INDEX_!=2 #if _FABM_DIMENSION_COUNT_>1&&_FABM_DEPTH_DIMENSION_INDEX_!=2
call check_index(j__, domain_size(2), routine, 'j') call check_index(j__, domain_start(2), domain_stop(2), routine, 'j')
#endif #endif
#if _FABM_DIMENSION_COUNT_>2&&_FABM_DEPTH_DIMENSION_INDEX_!=3 #if _FABM_DIMENSION_COUNT_>2&&_FABM_DEPTH_DIMENSION_INDEX_!=3
call check_index(k__, domain_size(3), routine, 'k') call check_index(k__, domain_start(3), domain_stop(3), routine, 'k')
#endif #endif
end subroutine check_vertical_location end subroutine check_vertical_location
...@@ -114,20 +114,21 @@ contains ...@@ -114,20 +114,21 @@ contains
end if end if
end subroutine check_extents_3d end subroutine check_extents_3d
subroutine check_loop(istart, istop, imax, routine) subroutine check_loop(istart, istop, imin, imax, routine)
integer, intent(in) :: istart, istop, imax integer, intent(in) :: istart, istop, imin, imax
character(len=*), intent(in) :: routine character(len=*), intent(in) :: routine
character(len=8) :: str1, str2 character(len=8) :: str1, str2
if (istart < 1) then if (istart < imin) then
write (str1,'(i0)') istart write (str1,'(i0)') istart
call fatal_error(routine, 'Loop start index ' // trim(str1) // ' is non-positive.') write (str2,'(i0)') imin
call fatal_error(routine, 'Loop start index ' // trim(str1) // ' lies below minimum of ' // trim(str2) // '.')
end if end if
if (istop > imax) then if (istop > imax) then
write (str1,'(i0)') istop write (str1,'(i0)') istop
write (str2,'(i0)') imax write (str2,'(i0)') imax
call fatal_error(routine, 'Loop stop index ' // trim(str1) // ' exceeds size of vectorized dimension (' // trim(str2) // ').') call fatal_error(routine, 'Loop stop index ' // trim(str1) // ' exceeds maximum of ' // trim(str2) // '.')
end if end if
if (istart > istop) then if (istart > istop) then
write (str1,'(i0)') istart write (str1,'(i0)') istart
...@@ -136,20 +137,21 @@ contains ...@@ -136,20 +137,21 @@ contains
end if end if
end subroutine check_loop end subroutine check_loop
subroutine check_index(i, i_max, routine, name) subroutine check_index(i, imin, imax, routine, name)
integer, intent(in) :: i, i_max integer, intent(in) :: i, imin, imax
character(len=*), intent(in) :: routine, name character(len=*), intent(in) :: routine, name
character(len=8) :: str1, str2 character(len=8) :: str1, str2
if (i < 1) then if (i < imin) then
write (str1,'(i0)') i write (str1,'(i0)') i
call fatal_error(routine, 'Index ' // name // ' = ' // trim(str1) // ' is non-positive.') write (str2,'(i0)') imin
call fatal_error(routine, 'Index ' // name // ' = ' // trim(str1) // ' lies below minimum of ' // trim(str2) // '.')
end if end if
if (i > i_max) then if (i > imax) then
write (str1,'(i0)') i write (str1,'(i0)') i
write (str2,'(i0)') i_max write (str2,'(i0)') imax
call fatal_error(routine, 'Index ' // name // ' = ' // trim(str1) // ' exceeds size of associated dimension (' // trim(str2) // ').') call fatal_error(routine, 'Index ' // name // ' = ' // trim(str1) // ' exceeds maximum of ' // trim(str2) // '.')
end if end if
end subroutine check_index end subroutine check_index
......
...@@ -352,7 +352,7 @@ contains ...@@ -352,7 +352,7 @@ contains
_DECLARE_INTERIOR_INDICES_ _DECLARE_INTERIOR_INDICES_
#ifndef NDEBUG #ifndef NDEBUG
call check_interior_location(self%domain%shape _POSTARG_INTERIOR_IN_, 'fabm_get_light_extinction') call check_interior_location(self%domain%start, self%domain%stop _POSTARG_INTERIOR_IN_, 'fabm_get_light_extinction')
# ifdef _FABM_VECTORIZED_DIMENSION_INDEX_ # ifdef _FABM_VECTORIZED_DIMENSION_INDEX_
call check_extents_1d(extinction, _STOP_ - _START_ + 1, 'fabm_get_light_extinction', 'extinction', 'stop-start+1') call check_extents_1d(extinction, _STOP_ - _START_ + 1, 'fabm_get_light_extinction', 'extinction', 'stop-start+1')
# endif # endif
...@@ -372,7 +372,7 @@ contains ...@@ -372,7 +372,7 @@ contains
_DECLARE_HORIZONTAL_INDICES_ _DECLARE_HORIZONTAL_INDICES_
#ifndef NDEBUG #ifndef NDEBUG
call check_horizontal_location(self%domain%shape _POSTARG_HORIZONTAL_IN_, 'fabm_get_drag') call check_horizontal_location(self%domain%start, self%domain%stop _POSTARG_HORIZONTAL_IN_, 'fabm_get_drag')
# ifdef _HORIZONTAL_IS_VECTORIZED_ # ifdef _HORIZONTAL_IS_VECTORIZED_
call check_extents_1d(drag, _STOP_ - _START_ + 1, 'fabm_get_drag', 'drag', 'stop-start+1') call check_extents_1d(drag, _STOP_ - _START_ + 1, 'fabm_get_drag', 'drag', 'stop-start+1')
# endif # endif
...@@ -392,7 +392,7 @@ contains ...@@ -392,7 +392,7 @@ contains
_DECLARE_HORIZONTAL_INDICES_ _DECLARE_HORIZONTAL_INDICES_
#ifndef NDEBUG #ifndef NDEBUG
call check_horizontal_location(self%domain%shape _POSTARG_HORIZONTAL_IN_, 'fabm_get_albedo') call check_horizontal_location(self%domain%start, self%domain%stop _POSTARG_HORIZONTAL_IN_, 'fabm_get_albedo')
# ifdef _HORIZONTAL_IS_VECTORIZED_ # ifdef _HORIZONTAL_IS_VECTORIZED_
call check_extents_1d(albedo, _STOP_ - _START_ + 1, 'fabm_get_albedo', 'albedo', 'stop-start+1') call check_extents_1d(albedo, _STOP_ - _START_ + 1, 'fabm_get_albedo', 'albedo', 'stop-start+1')
# endif # endif
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment