| |
| /************************************************************************ |
| * * |
| * 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"); |
| } |
| } |
| } |
| } |