/[MITgcm]/MITgcm/model/src/ini_grid.F
ViewVC logotype

Contents of /MITgcm/model/src/ini_grid.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.6 - (show annotations) (download)
Wed Dec 9 16:11:52 1998 UTC (25 years, 5 months ago) by adcroft
Branch: MAIN
CVS Tags: checkpoint19, checkpoint28, checkpoint29, checkpoint20, checkpoint21, checkpoint22, checkpoint23, checkpoint24, checkpoint25, checkpoint27, branch-atmos-merge-freeze, branch-atmos-merge-start, checkpoint26, branch-atmos-merge-shapiro, checkpoint33, checkpoint32, checkpoint31, checkpoint30, checkpoint34, branch-atmos-merge-zonalfilt, branch-atmos-merge-phase5, branch-atmos-merge-phase4, branch-atmos-merge-phase7, branch-atmos-merge-phase6, branch-atmos-merge-phase1, branch-atmos-merge-phase3, branch-atmos-merge-phase2
Branch point for: branch-atmos-merge
Changes since 1.5: +2 -1 lines
Added IMPLICIT NONE in a lot of subroutines.
Also corrected the recip_Rhonil bug: we didn't set it in ini_parms.F

1 C $Header: /u/gcmpack/models/MITgcmUV/model/src/ini_grid.F,v 1.5 1998/11/06 22:44:47 cnh Exp $
2
3 #include "CPP_OPTIONS.h"
4
5 CStartOfInterface
6 SUBROUTINE INI_GRID( myThid )
7 C /==========================================================\
8 C | SUBROUTINE INI_GRID |
9 C | o Initialise model grid |
10 C |==========================================================|
11 C | These arrays are used throughout the code in evaluating |
12 C | gradients, integrals and spatial avarages. This routine |
13 C | is called separately by each thread and initialise only |
14 C | the region of the domain it is "responsible" for. |
15 C | Notes: |
16 C | Two examples are shown in this code. One illustrates the |
17 C | initialisation of a cartesian grid. The other shows the |
18 C | inialisation of a spherical polar grid. Other orthonormal|
19 C | grids can be fitted into this design. In this case |
20 C | custom metric terms also need adding to account for the |
21 C | projections of velocity vectors onto these grids. |
22 C | The structure used here also makes it possible to |
23 C | implement less regular grid mappings. In particular |
24 C | o Schemes which leave out blocks of the domain that are |
25 C | all land could be supported. |
26 C | o Multi-level schemes such as icosohedral or cubic |
27 C | grid projectedions onto a sphere can also be fitted |
28 C | within the strategy we use. |
29 C | Both of the above also require modifying the support |
30 C | routines that map computational blocks to simulation |
31 C | domain blocks. |
32 C \==========================================================/
33 IMPLICIT NONE
34
35 C === Global variables ===
36 #include "SIZE.h"
37 #include "EEPARAMS.h"
38 #include "PARAMS.h"
39 #include "GRID.h"
40
41 C == Routine arguments ==
42 C myThid - Number of this instance of INI_GRID
43 INTEGER myThid
44 CEndOfInterface
45
46 C == Local variables ==
47 C msgBuf - Used for informational I/O.
48 CHARACTER*(MAX_LEN_MBUF) msgBuf
49
50 C-- Set up vertical grid and coordinate system
51 CALL INI_VERTICAL_GRID( myThid )
52
53 C-- Set up horizontal grid and coordinate system
54 IF ( usingCartesianGrid ) THEN
55 CALL INI_CARTESIAN_GRID( myThid )
56 ELSEIF ( usingSphericalPolarGrid ) THEN
57 CALL INI_SPHERICAL_POLAR_GRID( myThid )
58 ELSE
59 _BEGIN_MASTER(myThid)
60 WRITE(msgBuf,'(A)')
61 & 'S/R INI_GRID: No grid coordinate system has been selected'
62 CALL PRINT_ERROR( msgBuf , myThid)
63 STOP 'ABNORMAL END: S/R INI_GRID'
64 _END_MASTER(myThid)
65 ENDIF
66 C
67 RETURN
68 END

  ViewVC Help
Powered by ViewVC 1.1.22