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

Last change on this file since 686 was 686, checked in by dubos, 6 years ago

devel/unstructured : piecewise-constant vertical remapping

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 pressure rather than mass
20            ! m = mass_dak(l,ij)+(mass_col(ij)*g+ptop)*mass_dbk(l,ij)
21            ! rhodz(l,ij) = m/g
22            rhodz(l,ij) = mass_dak(l,ij) + mass_col(ij)*mass_dbk(l,ij)
23         END DO
24      END DO
25      !$OMP END DO
26   END IF
27   DO iq=1,nqdyn
28      !$OMP DO SCHEDULE(STATIC)
29      DO ij = 1, primal_num
30         !DIR$ SIMD
31         DO l = 1, llm
32            theta(l,ij,iq) = theta_rhodz(l,ij,iq)/rhodz(l,ij)
33         END DO
34      END DO
35      !$OMP END DO
36   END DO
37   !---------------------------- theta ----------------------------------
38   !--------------------------------------------------------------------------
Note: See TracBrowser for help on using the repository browser.