source: codes/icosagcm/devel/src/unstructured/transport_unstructured.F90 @ 714

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

devel/unstructured : select double or single precision for physical quantities

File size: 1.2 KB
Line 
1MODULE transport_unstructured_mod
2  USE ISO_C_BINDING
3  USE OMP_LIB
4  USE data_unstructured_mod
5  IMPLICIT NONE
6  PRIVATE
7  SAVE
8
9CONTAINS
10
11#include "unstructured.h90"
12#define HASNAN(field) (ANY(.NOT.ABS(field)<1e20))
13
14  SUBROUTINE remap_unstructured(rhodz, thetarhodz, u) BINDC(remap)
15    FIELD_MASS   :: rhodz, thetarhodz    ! INOUT
16    FIELD_U      :: u                    ! INOUT
17    ! DIAG
18    FIELD_PS     :: new_rhodz_cum, mass_col
19    FIELD_MASS   :: old_rhodz
20    FIELD_GEOPOT :: eta, rhodz_cum, thetarhodz_cum, new_thetarhodz_cum
21    FIELD_U      :: urhodz
22    FIELD_UL     :: urhodz_cum,  new_urhodz_cum
23    INTEGER, DIMENSION(primal_num) :: cur_lev
24
25    NUM          :: rhodz_cum_target, rhodz_cum_lev, rhodz_cum_levp1, X
26    TIME         :: time1,time2
27    INTEGER :: ij, l, level, edge, ij_left, ij_right
28   
29    time1=OMP_GET_WTIME()
30   
31#include "../kernels_unst/remap_eta.k90"
32#include "../kernels_unst/remap_theta.k90"
33#include "../kernels_unst/remap_u.k90"
34   
35    time2=OMP_GET_WTIME()
36    !  CALL CPU_TIME(time2)
37    IF(time2>time1) elapsed = elapsed + time2-time1
38
39    CALL print_trace()
40  END SUBROUTINE remap_unstructured
41
42END MODULE transport_unstructured_mod
Note: See TracBrowser for help on using the repository browser.