- Timestamp:
- 04/09/18 15:22:10 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
codes/icosagcm/devel/src/unstructured/timestep_unstructured.F90
r683 r688 11 11 SAVE 12 12 13 #define BINDC_(thename) BIND(C, name=#thename)14 #define BINDC(thename) BINDC_(dynamico_ ## thename)15 16 #define DBL REAL(C_DOUBLE)17 #define DOUBLE1(m) DBL, DIMENSION(m)18 #define DOUBLE2(m,n) DBL, DIMENSION(m,n)19 #define DOUBLE3(m,n,p) DBL, DIMENSION(m,n,p)20 #define DOUBLE4(m,n,p,q) DBL, DIMENSION(m,n,p,q)21 #define INDEX INTEGER(C_INT)22 23 13 #ifdef CPP_USING_XIOS 24 14 TYPE(xios_context) :: ctx_hdl … … 27 17 CONTAINS 28 18 29 #define FIELD_PS DOUBLE1(primal_num) 30 #define FIELD_MASS DOUBLE2(llm, primal_num) 31 #define FIELD_Z DOUBLE2(llm, dual_num) 32 #define FIELD_U DOUBLE2(llm, edge_num) 33 #define FIELD_UL DOUBLE2(llm+1, edge_num) 34 #define FIELD_THETA DOUBLE3(llm, primal_num, nqdyn) 35 #define FIELD_GEOPOT DOUBLE2(llm+1, primal_num) 19 #include "unstructured.h90" 36 20 37 21 #define HASNAN(field) (ANY(.NOT.ABS(field)<1e20)) … … 41 25 dmass_col,drhodz,dtheta_rhodz,du_fast,du_slow, & 42 26 dPhi_fast, dPhi_slow, dW_fast, dW_slow) BINDC(caldyn_unstructured) ! OUT : tendencies 43 DBL, VALUE :: tau27 NUM, VALUE :: tau 44 28 FIELD_MASS :: rhodz, drhodz, pk, berni ! IN, OUT, DIAG 45 29 FIELD_THETA :: theta_rhodz, dtheta_rhodz, theta ! IN, OUT, DIAG … … 54 38 FIELD_UL :: bufu1, bufu2, bufu3,bufu4 55 39 56 DBL:: time1,time240 TIME :: time1,time2 57 41 INTEGER :: ij 58 42 … … 124 108 FIELD_GEOPOT :: geopot, w, wflux ! IN, INOUT, DIAG 125 109 FIELD_Z :: qv ! DIAG 126 DOUBLE2( primal_num, max_nb_stage) :: dmass_col ! OUT127 DOUBLE3(llm, primal_num, max_nb_stage) :: drhodz ! OUT128 DOUBLE4(llm, primal_num, nqdyn, max_nb_stage) :: dtheta_rhodz ! OUT129 DOUBLE3(llm, edge_num, max_nb_stage) :: du_fast,du_slow ! OUT130 DOUBLE3(llm+1, primal_num, max_nb_stage) :: &110 NUM2( primal_num, max_nb_stage) :: dmass_col ! OUT 111 NUM3(llm, primal_num, max_nb_stage) :: drhodz ! OUT 112 NUM4(llm, primal_num, nqdyn, max_nb_stage) :: dtheta_rhodz ! OUT 113 NUM3(llm, edge_num, max_nb_stage) :: du_fast,du_slow ! OUT 114 NUM3(llm+1, primal_num, max_nb_stage) :: & 131 115 dPhi_fast, dPhi_slow, dW_fast, dW_slow ! OUT 132 116 ! buffers for fields that need to be shared among OpenMP threads … … 134 118 FIELD_GEOPOT :: bufm1, bufm2, bufm3 135 119 FIELD_UL :: bufu1, bufu2, bufu3,bufu4 136 DBL:: time1,time2120 TIME :: time1,time2 137 121 INTEGER :: step, stage, iq, ij 138 122 … … 240 224 SUBROUTINE update(j,sz,clj,field,dfield) 241 225 INTEGER :: j, sz ! stage in ARK scheme, field size 242 DOUBLE2(max_nb_stage,max_nb_stage) :: clj ! modified Butcher tableau243 DOUBLE1(sz) :: field244 DOUBLE2(sz, max_nb_stage) :: dfield226 NUM2(max_nb_stage,max_nb_stage) :: clj ! modified Butcher tableau 227 NUM1(sz) :: field 228 NUM2(sz, max_nb_stage) :: dfield 245 229 ! 246 230 INTEGER :: l, ij
Note: See TracChangeset
for help on using the changeset viewer.