link_grid Subroutine

private subroutine link_grid()

Allocate and link grid related FABM standard variables that are being transformed from UVic native variables [cm -> m].

Arguments

None

Calls

proc~~link_grid~~CallsGraph proc~link_grid uvic_fabm::link_grid dzt dzt proc~link_grid->dzt kmt kmt proc~link_grid->kmt link_interior_data link_interior_data proc~link_grid->link_interior_data zt zt proc~link_grid->zt

Called by

proc~~link_grid~~CalledByGraph proc~link_grid uvic_fabm::link_grid proc~fabm_link_data uvic_fabm::fabm_link_data proc~fabm_link_data->proc~link_grid

Source Code

      subroutine link_grid()
         !! Allocate and link grid related FABM standard variables that 
         !! are being transformed from UVic native variables [cm -> m].

         integer :: rc
            ! status variable
         integer :: i,j,k
            ! local loop counters

!            print*, zt/100._rke
!            print*, (dzt/100._rke)
!            print*, zw/100._rke
!            print*, dzw/100._rke
!            stop 'egon'
         allocate(depth(imt,km,jmt),stat=rc)
         if (rc /= 0) stop 'link_grid(): Error allocating (depth)'
         depth = 0._rke
         allocate(pressure(imt,km,jmt),stat=rc)
         if (rc /= 0) stop 'link_grid(): Error allocating (pressure)'
         pressure = 0._rke
         allocate(dz(imt,km,jmt),stat=rc)
         if (rc /= 0) stop 'link_grid(): Error allocating (dz)'
         dz = 0._rke
         do j=2,jmt-1
            do i=2,imt-1
               if (kmt(i,j) > 0) then
                  depth(i,1:kmt(i,j),j) = zt(1:kmt(i,j))/100._rke
                  pressure(i,1:kmt(i,j),j) = 
     &                            depth(i,1:kmt(i,j),j)/10._rke
                  dz(i,1:kmt(i,j),j) = dzt(1:kmt(i,j))/100._rke
               end if
            end do
         end do
         call model%link_interior_data(
     &              fabm_standard_variables%depth,depth)
         call model%link_interior_data(
     &              fabm_standard_variables%pressure,pressure)
         call model%link_interior_data(
     &              fabm_standard_variables%cell_thickness,dz)
#if 0
         print*, depth(53,:,53),pressure(:53,:,53),dz(53,:,53)
         stop 'egon'
#endif
      end subroutine link_grid