/************************************************************************ | |
* * | |
* Commonwealth Scientific and Industrial Research Organisation (CSIRO) * | |
* - Division of Information Technology (DIT) * | |
* - Division of Atmospheric Research (DAR) * | |
* * | |
* Shallow water weather model - Distributed Memory Version * | |
* * | |
* Finite difference model of shallow water equations based on :- * | |
* "The dynamics of finite difference models of the shallow water * | |
* equations" by R. Sadourney, JAS, 32, 1975. * | |
* Code from:- * | |
* "An introduction to three-dimensional climate modelling" * | |
* by Washington and Parkinson * | |
* * | |
* Programmers = David Abramson (DIT) rcoda@koel.co.rmit.oz * | |
* = Paul Whiting (DIT) rcopw@koel.co.rmit.oz * | |
* = Martin Dix (DAR) mrd@koel.co.rmit.oz * | |
* Language = BSD c using Argonne NL macros * | |
* O/S = Unix System V * | |
* H/W = Encore Multimax 320 * | |
* * | |
************************************************************************/ | |
#include "decs.h" | |
#include <stdio.h> | |
void dump(int indx,int one_or_two,float onedim[m],float twodim[n][m]) | |
{ | |
int i, j; | |
printf("\n"); | |
switch (indx) { | |
case p_label : | |
printf("dumping p:\n"); | |
break; | |
case u_label : | |
printf("dumping u:\n"); | |
break; | |
case v_label : | |
printf("dumping v:\n"); | |
break; | |
case pold_label : | |
printf("dumping pold:\n"); | |
break; | |
case uold_label : | |
printf("dumping uold:\n"); | |
break; | |
case vold_label : | |
printf("dumping vold:\n"); | |
break; | |
case psi_label : | |
printf("dumping psi:\n"); | |
break; | |
case cu_label : | |
printf("dumping cu:\n"); | |
break; | |
case cv_label : | |
printf("dumping cv:\n"); | |
break; | |
case h_label : | |
printf("dumping h:\n"); | |
break; | |
case z_label : | |
printf("dumping z:\n"); | |
break; | |
case dudt_label : | |
printf("dumping dudt:\n"); | |
break; | |
case dvdt_label : | |
printf("dumping dvdt:\n"); | |
break; | |
} | |
if (one_or_two == 1) { | |
for (i = 0; i < m; i++) { | |
printf("%d %f", i, onedim[i]); | |
printf("\n"); | |
} | |
} | |
else { | |
for (i = 0; i < m; i++) { | |
for (j = 0; j < n; j++) { | |
printf("%d,%d %f", i, j, twodim[j][i]); | |
printf("\n"); | |
} | |
} | |
} | |
} |