-#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 */
+
+#define P_EXT 0.1
+#define P_HUM 0.1
+#define P_ACT 0.001
+
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);