-#define CLOUD_DIM 16
+#define CLOUD_DIM_X 64
+#define CLOUD_DIM_Y 16
+#define CLOUD_DIM_Z 64
+/* #define CLOUD_DIM_X 16 */
+/* #define CLOUD_DIM_Y 16 */
+/* #define CLOUD_DIM_Z 16 */
struct Clouds {
// TODO: make more efficient
- bool hum[CLOUD_DIM][CLOUD_DIM][CLOUD_DIM];
- bool cld[CLOUD_DIM][CLOUD_DIM][CLOUD_DIM];
- bool act[CLOUD_DIM][CLOUD_DIM][CLOUD_DIM];
- float p_ext[CLOUD_DIM][CLOUD_DIM][CLOUD_DIM];
- float p_hum[CLOUD_DIM][CLOUD_DIM][CLOUD_DIM];
- float p_act[CLOUD_DIM][CLOUD_DIM][CLOUD_DIM];
+ bool hum[CLOUD_DIM_X][CLOUD_DIM_Y][CLOUD_DIM_Z];
+ bool cld[CLOUD_DIM_X][CLOUD_DIM_Y][CLOUD_DIM_Z];
+ bool act[CLOUD_DIM_X][CLOUD_DIM_Y][CLOUD_DIM_Z];
+ float p_ext[CLOUD_DIM_X][CLOUD_DIM_Y][CLOUD_DIM_Z];
+ float p_hum[CLOUD_DIM_X][CLOUD_DIM_Y][CLOUD_DIM_Z];
+ float p_act[CLOUD_DIM_X][CLOUD_DIM_Y][CLOUD_DIM_Z];
+ /** Wind velocity */
+ float vz[CLOUD_DIM_Z];
/** continuous distribution */
- float q[CLOUD_DIM][CLOUD_DIM][CLOUD_DIM];
+ float q[CLOUD_DIM_X][CLOUD_DIM_Y][CLOUD_DIM_Z];
};
void initClouds(Clouds *cs);