fabm_initialize_state Subroutine

public subroutine fabm_initialize_state()

the initialization must be split form the linking as the masks are not yet calculated

Arguments

None

Calls

proc~~fabm_initialize_state~~CallsGraph proc~fabm_initialize_state uvic_fabm::fabm_initialize_state initialize_bottom_state initialize_bottom_state proc~fabm_initialize_state->initialize_bottom_state initialize_interior_state initialize_interior_state proc~fabm_initialize_state->initialize_interior_state initialize_surface_state initialize_surface_state proc~fabm_initialize_state->initialize_surface_state t t proc~fabm_initialize_state->t

Source Code

      subroutine fabm_initialize_state()
         !! the initialization must be split form the linking as the
         !! masks are not yet calculated

         integer :: j,k
         logical, save :: first=.true.

         if (.not. first) return  ! careful if not full window
         first = .false.

         ! fill the surface state
         if (nsurface > 0) then
            do j = 2, jmt-1
               call model%initialize_surface_state(2, imt-1, j)
            end do
         end if

         ! fill the interior state
         do j = 2, jmt-1
            do k = 1, km
               call model%initialize_interior_state(2, imt-1, k, j)
            end do
         end do
         t(:,:,:,offset:,1) = t(:,:,:,offset:,0) ! initial values must be in tau+1 slice

         ! fill the bottom state
         if (nbottom > 0) then
            do j = 2, jmt-1
               call model%initialize_bottom_state(2, imt-1, j)
            end do
         end if

      end subroutine fabm_initialize_state