/* * calc_area.c : Make 'area.asc' * area : area of each grid cell (km2) * Ref. Oki and Kanae (1997), Suisui, 10(4) */ #include #include "common.h" #include "common.c" /* ============== FILE NAMES ===================*/ #define RESULT_MAP "grid_area.asc" /* ================= CODE / NAME =================*/ /*(nothing)*/ /* *===================================================== * main *===================================================== */ main(int iArgc, char **ppszArgv){ int iX, iY; REAL_GRID *grdArea; REAL fArea; /* * Init */ initialize(0.5, 0.5, -180.0); /* * Init Array */ grdArea = (REAL_GRID *)init_every(ARRAYTYPE_REAL_GRID); /* Calc 1 Column */ GRID_ROW_LOOP_START(iY){ fArea = CalcAreaXY(iY, 0); printf("%3d : %10.3f\n", iY, fArea); for(iX = 0; iX < g_iNumOfXGrids; iX++) (grdArea -> pGrid)[iY][iX] = fArea; }GRID_ROW_LOOP_END; /* write region_map */ WriteRealASC(RESULT_MAP, grdArea, 10, 3); /* * Finish */ terminate(); }