Skip to content

Commit 6b2834a

Browse files
Some cleanup to interp2.
Fixes ufs-community#709.
1 parent e90969d commit 6b2834a

File tree

1 file changed

+0
-101
lines changed

1 file changed

+0
-101
lines changed

sorc/sfc_climo_gen.fd/interp2.F90

-101
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ subroutine interp2(localpet, method, input_file)
2727
integer :: i, j, ij, tile, n, ncid, status
2828
integer :: l(1), u(1), t
2929
integer :: clb_mdl(3), cub_mdl(3)
30-
integer :: clb_src(3), cub_src(3)
3130
integer :: varid, record
3231
integer :: tile_num, pt_loc_this_tile
3332
integer :: isrctermprocessing
@@ -37,7 +36,6 @@ subroutine interp2(localpet, method, input_file)
3736
integer(esmf_kind_i4), pointer :: unmapped_ptr(:)
3837

3938
real(esmf_kind_r4), pointer :: data_mdl_ptr(:,:,:)
40-
real(esmf_kind_r4), pointer :: data_src_ptr(:,:,:)
4139
real(esmf_kind_r4), allocatable :: data_src_global(:,:)
4240
real(esmf_kind_r4), allocatable :: data_src_global2(:,:,:)
4341
real(esmf_kind_r4), allocatable :: data_mdl_one_tile(:,:,:)
@@ -68,18 +66,6 @@ subroutine interp2(localpet, method, input_file)
6866
if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__LINE__,file=__FILE__)) &
6967
call error_handler("IN FieldCreate", rc)
7068

71-
print*,"- CALL FieldGet FOR SOURCE GRID DATA."
72-
nullify(data_src_ptr)
73-
call ESMF_FieldGet(data_field_src, &
74-
farrayPtr=data_src_ptr, &
75-
computationalLBound=clb_src, &
76-
computationalUBound=cub_src, &
77-
rc=rc)
78-
if(ESMF_logFoundError(rcToCheck=rc,msg=ESMF_LOGERR_PASSTHRU,line=__LINE__,file=__FILE__)) &
79-
call error_handler("IN FieldGet", rc)
80-
81-
print*,'got here ',localpet,clb_src,cub_src
82-
8369
print*,"- CALL FieldCreate FOR model GRID veg DATA."
8470
data_field_mdl2 = ESMF_FieldCreate(grid_mdl, &
8571
typekind=ESMF_TYPEKIND_R4, &
@@ -321,90 +307,3 @@ subroutine interp2(localpet, method, input_file)
321307
call ESMF_FieldDestroy(data_field_src, rc=rc)
322308

323309
end subroutine interp2
324-
325-
!> Ensure consistent fields at land ice points.
326-
!! Land ice is vegetation type 15 (variable landice).
327-
!! output is Model field.
328-
!!
329-
!! @param[in] field Model field before adjustments for land ice.
330-
!! @param[in] vegt Vegetation type on the model tile.
331-
!! @param[inout] idim i dimension of model tile.
332-
!! @param[inout] jdim j dimension of model tile.
333-
!! @param[in] field_ch Field name.
334-
!! @author George Gayno NCEP/EMC
335-
subroutine adjust_for_landice2(field, vegt, idim, jdim, field_ch)
336-
337-
use esmf
338-
use mpi
339-
340-
implicit none
341-
342-
character(len=*), intent(in) :: field_ch
343-
344-
integer, intent(in) :: idim, jdim
345-
346-
real(esmf_kind_i4), intent(in) :: vegt(idim,jdim)
347-
real(esmf_kind_r4), intent(inout) :: field(idim,jdim)
348-
349-
integer, parameter :: landice=15
350-
351-
integer :: i, j, ierr
352-
353-
real :: landice_value
354-
355-
select case (field_ch)
356-
case ('substrate_temperature') ! soil substrate temp
357-
landice_value = 273.15
358-
do j = 1, jdim
359-
do i = 1, idim
360-
if (nint(vegt(i,j)) == landice) then
361-
field(i,j) = min(field(i,j), landice_value)
362-
endif
363-
enddo
364-
enddo
365-
case ('vegetation_greenness') ! vegetation greenness
366-
landice_value = 0.01 ! 1.0% is bare ground
367-
do j = 1, jdim
368-
do i = 1, idim
369-
if (nint(vegt(i,j)) == landice) then
370-
field(i,j) = landice_value
371-
endif
372-
enddo
373-
enddo
374-
case ('leaf_area_index') ! leaf area index
375-
landice_value = 0.0 ! bare ground
376-
do j = 1, jdim
377-
do i = 1, idim
378-
if (nint(vegt(i,j)) == landice) then
379-
field(i,j) = landice_value
380-
endif
381-
enddo
382-
enddo
383-
case ('slope_type') ! slope type
384-
landice_value = 9.0
385-
do j = 1, jdim
386-
do i = 1, idim
387-
if (nint(vegt(i,j)) == landice) then
388-
field(i,j) = landice_value
389-
else
390-
if (nint(field(i,j)) == nint(landice_value)) field(i,j) = 2.0
391-
endif
392-
enddo
393-
enddo
394-
case ('soil_type') ! soil type
395-
landice_value = 16.0
396-
do j = 1, jdim
397-
do i = 1, idim
398-
if (nint(vegt(i,j)) == landice) then
399-
field(i,j) = landice_value
400-
else
401-
if (nint(field(i,j)) == nint(landice_value)) field(i,j) = 6.0
402-
endif
403-
enddo
404-
enddo
405-
case default
406-
print*,'- FATAL ERROR IN ROUTINE ADJUST_FOR_LANDICE. UNIDENTIFIED FIELD : ', field_ch
407-
call mpi_abort(mpi_comm_world, 57, ierr)
408-
end select
409-
410-
end subroutine adjust_for_landice2

0 commit comments

Comments
 (0)