module conc use dimphy IMPLICIT NONE REAL, ALLOCATABLE, SAVE :: mmean(:,:) !$OMP THREADPRIVATE(mmean) REAL, ALLOCATABLE, SAVE :: rho(:,:) !$OMP THREADPRIVATE(rho) REAL, ALLOCATABLE, SAVE :: Akknew(:,:) !$OMP THREADPRIVATE(Akknew) REAL, ALLOCATABLE, SAVE :: rnew(:,:) !$OMP THREADPRIVATE(rnew) REAL, ALLOCATABLE, SAVE :: cpnew(:,:) !$OMP THREADPRIVATE(cpnew) REAL, ALLOCATABLE, SAVE :: jfotsout(:,:,:) !$OMP THREADPRIVATE(jfotsout) REAL, ALLOCATABLE, SAVE :: coefit4(:,:) !$OMP THREADPRIVATE(coefit4) REAL, ALLOCATABLE, SAVE :: coefit3(:,:) !$OMP THREADPRIVATE(coefit3) REAL, ALLOCATABLE, SAVE :: coefit2(:,:) !$OMP THREADPRIVATE(coefit2) REAL, ALLOCATABLE, SAVE :: coefit1(:,:) !$OMP THREADPRIVATE(coefit1) REAL, ALLOCATABLE, SAVE :: coefit0(:,:) !$OMP THREADPRIVATE(coefit0) REAL, ALLOCATABLE, SAVE :: fluxtop(:) !$OMP THREADPRIVATE(fluxtop) ! REAL, ALLOCATABLE, SAVE :: freccen(:) !$OMP THREADPRIVATE(freccen) REAL, ALLOCATABLE, SAVE :: t0(:) !$OMP THREADPRIVATE(t0) ! REAL, ALLOCATABLE, SAVE :: crscabsi2(:,:) !$OMP THREADPRIVATE(crscabsi2) REAL, ALLOCATABLE, SAVE :: jabsifotsintpar(:,:,:) !$OMP THREADPRIVATE(crscabsi2) REAL, ALLOCATABLE, SAVE :: c1_16(:,:) !$OMP THREADPRIVATE(c1_16) REAL, ALLOCATABLE, SAVE :: c17_24(:) !$OMP THREADPRIVATE(c17_24) REAL, ALLOCATABLE, SAVE :: c25_29(:) !$OMP THREADPRIVATE(c25_29) REAL, ALLOCATABLE, SAVE :: c30_31(:) !$OMP THREADPRIVATE(c30_31) REAL, ALLOCATABLE, SAVE :: c32(:) !$OMP THREADPRIVATE(c32) REAL, ALLOCATABLE, SAVE :: c33(:) !$OMP THREADPRIVATE(c33) REAL, ALLOCATABLE, SAVE :: c34(:) !$OMP THREADPRIVATE(c34) REAL, ALLOCATABLE, SAVE :: c35(:) !$OMP THREADPRIVATE(c35) REAL, ALLOCATABLE, SAVE :: c36(:) !$OMP THREADPRIVATE(c36) REAL, ALLOCATABLE, SAVE :: ct1(:) !$OMP THREADPRIVATE(ct1) REAL, ALLOCATABLE, SAVE :: ct2(:) !$OMP THREADPRIVATE(ct2) REAL, ALLOCATABLE, SAVE :: p1(:) !$OMP THREADPRIVATE(p1) REAL, ALLOCATABLE, SAVE :: p2(:) !$OMP THREADPRIVATE(p2) CONTAINS !================================================================= subroutine conc_init USE dimphy implicit none #include"param.h" ALLOCATE(mmean(klon,klev)) ALLOCATE(rho(klon,klev)) ALLOCATE(Akknew(klon,klev)) ALLOCATE(rnew(klon,klev)) ALLOCATE(cpnew(klon,klev)) ALLOCATE(jfotsout(ninter,nabs,klev)) ALLOCATE(coefit0(ninter,nabs)) ALLOCATE(coefit1(ninter,nabs)) ALLOCATE(coefit2(ninter,nabs)) ALLOCATE(coefit3(ninter,nabs)) ALLOCATE(coefit4(ninter,nabs)) ALLOCATE(fluxtop(ninter)) ! ALLOCATE(freccen(ninter)) ALLOCATE(t0(nz2)) ! ALLOCATE(crscabsi2(nabs,16)) ALLOCATE(c1_16(nz2,16)) ALLOCATE(c17_24(nz2) ) ALLOCATE(c25_29(nz2) ) ALLOCATE(c30_31(nz2) ) ALLOCATE(c32(nz2) ) ALLOCATE(c33(nz2) ) ALLOCATE(c34(nz2) ) ALLOCATE(c35(nz2) ) ALLOCATE(c36(nz2) ) ALLOCATE(ct2(ninter) ) ALLOCATE(ct1(ninter) ) ALLOCATE(p1(ninter) ) ALLOCATE(p2(ninter) ) ALLOCATE(jabsifotsintpar(nz2,nabs,ninter)) end subroutine conc_init end module conc