m_alloc_mods.f90

      MODULE m_alloc_mods
        ! ------------------------------------------------------------------
        !
        ! module *mo_control* - control variables for model housekeeping.
   5:   !
        ! u. schlese   dkrz-hamburg    dec-94
        !
        ! A. Rhodin    MPI-Hamburg     Jan-99:
        !   Subroutine m_control renamed to alloc_mods and moved from 
  10:   !   module mo_control to module m_alloc_mods.
        ! ------------------------------------------------------------------
      
      IMPLICIT NONE
      
  15: CONTAINS
      
        SUBROUTINE alloc_mods
      
          USE mo_control,     ONLY: nlev, nlevp1
  20:     USE mo_post,        ONLY: npplev
          USE mo_physc2,      ONLY: cevapcu
          USE mo_hdiff,       ONLY: diftcor
          USE mo_hyb,         ONLY: aktlrd, alpham, altrcp, ardprc, bb, ceta,      &
                                    cetah, cpg, dela, delb, delpr, ralpha, ralphr, &
  25:                               rddelb, rdelpr, rlnmar, rlnpr
          USE mo_semi_impl,   ONLY: vmax
          USE mo_truncation,  ONLY: ntrk, ntrm
          USE mo_stat_global, ONLY: dh, qh, th, voh, xh
          USE mo_stat_zonal,  ONLY: delph
  30:     USE mo_rad2,        ONLY: cvdaed, cvdael, cvdaes, cvdaeu
          USE mo_diff,        ONLY: iq, ncdif
      
          IMPLICIT NONE
      
  35:     LOGICAL, SAVE :: lnot_used = .TRUE.
      
          IF (lnot_used) THEN
      
             ! mo_physc2
  40:        ALLOCATE (cevapcu(nlev))
             ! mo_post
             ALLOCATE (npplev(nlevp1,256))
             ! mo_hdiff
             ALLOCATE (diftcor(nlev))
  45:        ! mo_hyp
             ALLOCATE (ralpha(nlev))
             ALLOCATE (rlnpr(nlev))
             ALLOCATE (dela(nlev))
             ALLOCATE (delb(nlev))
  50:        ALLOCATE (rddelb(nlev))
             ALLOCATE (cpg(nlev))
             ALLOCATE (delpr(nlev))
             ALLOCATE (rdelpr(nlev))
             ALLOCATE (ralphr(nlev))
  55:        ALLOCATE (alpham(nlev))
             ALLOCATE (ardprc(nlev))
             ALLOCATE (rlnmar(nlev))
             ALLOCATE (aktlrd(nlev))
             ALLOCATE (altrcp(nlev))
  60:        ALLOCATE (ceta(nlev))
             ALLOCATE (cetah(nlevp1))
             ALLOCATE (bb(nlev,nlev))
             ! mo_stat_global
             ALLOCATE (dh(nlev))
  65:        ALLOCATE (voh(nlev))
             ALLOCATE (qh(nlev))
             ALLOCATE (th(nlev))
             ALLOCATE (xh(nlev))
             ! mo_semi_impl
  70:        ALLOCATE (vmax(nlev))
             ! mo_truncation
             ALLOCATE (ntrm(nlev))
      !      ALLOCATE (ntrn(jpnlev)) ! because f90 namelist restriction
             ALLOCATE (ntrk(nlev))
  75:        ! mo_stat_zonal
             ALLOCATE (delph(nlev))
             ! mo_rad2
             ALLOCATE (cvdaes(nlevp1))
             ALLOCATE (cvdael(nlevp1))
  80:        ALLOCATE (cvdaeu(nlevp1))
             ALLOCATE (cvdaed(nlevp1))
             ! mo_diff
             ALLOCATE (ncdif(nlev))
             ALLOCATE (iq(nlev))
  85: 
             lnot_used = .FALSE.
      
          ENDIF
      
  90:   END SUBROUTINE alloc_mods
      
      END MODULE m_alloc_mods


Info Section
uses: mo_control, mo_diff, mo_hdiff, mo_hyb, mo_physc2 mo_post, mo_rad2, mo_semi_impl, mo_stat_global, mo_stat_zonal mo_truncation
back to top
ECHAM 4 vf90 (C) 1998 Max-Planck-Institut für Meteorologie, Hamburg
Wed Nov 24 01:25:21 CST 1999

HTML derived from FORTRAN source by f2html.pl v0.3 (C) 1997,98 Beroud Jean-Marc.