source: codes/icosagcm/devel/src/kernels_unst/theta.k90 @ 913

Last change on this file since 913 was 913, checked in by dubos, 5 years ago

devel : compute_pression for unstructured mesh

File size: 1.4 KB
Line 
1   !--------------------------------------------------------------------------
2   !---------------------------- theta ----------------------------------
3   IF(caldyn_eta==eta_mass) THEN ! Compute mass
4      ! FIXME : here mass_col is computed from rhodz
5      ! so that the DOFs are the same whatever caldyn_eta
6      ! in DYNAMICO mass_col is prognosed rather than rhodz
7      !$OMP DO SCHEDULE(STATIC)
8      DO ij=1,primal_num
9         mass_col(ij)=0.
10         DO l = 1,llm
11            mass_col(ij) = mass_col(ij) + rhodz(l,ij)
12         END DO
13      END DO
14      !$OMP END DO
15      !$OMP DO SCHEDULE(STATIC)
16      DO ij = 1, primal_num
17         !DIR$ SIMD
18         DO l = 1, llm
19            ! FIXME : formula below (used in DYNAMICO) is for dak, dbk based on
20            ! pressure rather than mass
21            ! m = mass_dak(l,ij)+(mass_col(ij)*g+ptop)*mass_dbk(l,ij)
22            ! rhodz(l,ij) = m/g
23            rhodz(l,ij) = MASS_DAK(l,ij) + mass_col(ij)*MASS_DBK(l,ij)
24         END DO
25      END DO
26      !$OMP END DO
27   END IF
28   DO iq=1,nqdyn
29      !$OMP DO SCHEDULE(STATIC)
30      DO ij = 1, primal_num
31         !DIR$ SIMD
32         DO l = 1, llm
33            theta(l,ij,iq) = theta_rhodz(l,ij,iq)/rhodz(l,ij)
34         END DO
35      END DO
36      !$OMP END DO
37   END DO
38   !---------------------------- theta ----------------------------------
39   !--------------------------------------------------------------------------
Note: See TracBrowser for help on using the repository browser.