[615] | 1 | /* KERNELS */ |
---|
| 2 | |
---|
[746] | 3 | #ifdef CPP_MIXED_PREC |
---|
| 4 | typedef float number; |
---|
| 5 | #else |
---|
[689] | 6 | typedef double number; |
---|
| 7 | #endif |
---|
| 8 | |
---|
[639] | 9 | enum {max_nb_stage=5}; |
---|
[689] | 10 | extern number tauj[max_nb_stage]; |
---|
| 11 | extern number cslj[max_nb_stage][max_nb_stage], cflj[max_nb_stage][max_nb_stage]; |
---|
[639] | 12 | |
---|
[618] | 13 | void dynamico_init_params(void); |
---|
| 14 | |
---|
[642] | 15 | void dynamico_ARK_step(int nstep, |
---|
[689] | 16 | number *mass_col, number *rhodz, number *theta_rhodz, |
---|
| 17 | number *u, number *geopot, number *w, |
---|
| 18 | number *theta, number *ps, number *pk, number *hflux, number *qv, |
---|
| 19 | number *dmass_col, number *drhodz, number *dtheta_rhodz, |
---|
| 20 | number *du_fast, number *du_slow, |
---|
| 21 | number *dPhi_fast, number *dPhi_slow, |
---|
| 22 | number *dW_fast, number *dW_slow); |
---|
[639] | 23 | |
---|
[689] | 24 | void dynamico_remap(number *rhodz, number *theta_rhodz, number *u); |
---|
| 25 | |
---|
[615] | 26 | /* KERNELS -> XIOS */ |
---|
[618] | 27 | void dynamico_setup_xios(void); |
---|
| 28 | void dynamico_xios_set_timestep(double); |
---|
| 29 | void dynamico_xios_update_calendar(int); |
---|
[615] | 30 | /* CXIOS */ |
---|
| 31 | void cxios_context_close_definition(void); |
---|
| 32 | void cxios_context_finalize(void); |
---|
| 33 | void cxios_finalize(void); |
---|
[630] | 34 | |
---|
| 35 | void cxios_write_data_k81(char*, int, double*, int); |
---|
| 36 | void cxios_write_data_k82(char*, int, double*, int, int); |
---|
| 37 | void cxios_write_data_k83(char*, int, double*, int, int, int); |
---|