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

Annotation of /MITgcm/model/src/load_grid_spacing.F

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


Revision 1.1 - (hide annotations) (download)
Sun Jul 31 22:07:48 2005 UTC (18 years, 9 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint58l_post, checkpoint57t_post, checkpoint58e_post, checkpoint57s_post, checkpoint58r_post, checkpoint57y_post, checkpoint58n_post, checkpoint58h_post, checkpoint57y_pre, checkpoint58q_post, checkpoint57v_post, checkpoint58j_post, checkpoint57r_post, checkpoint58, checkpoint58f_post, checkpoint57x_post, checkpoint58d_post, checkpoint58c_post, checkpoint57w_post, checkpoint57p_post, checkpint57u_post, checkpoint58a_post, checkpoint58i_post, checkpoint57q_post, checkpoint58g_post, checkpoint58o_post, checkpoint57z_post, checkpoint58k_post, checkpoint58p_post, checkpoint58b_post, checkpoint58m_post
reading of delXfile & delYfile moved from ini_parms.F to ini_grid.F
(ini_parms.F is shorter ; allows later to read from netcdf files)

1 jmc 1.1 C $Header: $
2     C $Name: $
3    
4     #include "PACKAGES_CONFIG.h"
5     #include "CPP_OPTIONS.h"
6    
7     C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
8     CBOP
9     C !ROUTINE: LOAD_GRID_SPACING
10     C !INTERFACE:
11     SUBROUTINE LOAD_GRID_SPACING( myThid )
12    
13     C !DESCRIPTION:
14     C load grid-spacing (vector array) delX, delY or delR from file.
15     C notes: loading of delR from file not yet implemented
16    
17     C !USES:
18     IMPLICIT NONE
19     #include "SIZE.h"
20     #include "EEPARAMS.h"
21     #include "PARAMS.h"
22     #include "GRID.h"
23    
24     C !INPUT/OUTPUT PARAMETERS:
25     C myThid - Number of this instance of INI_PARMS
26     INTEGER myThid
27     CEOP
28    
29     C !LOCAL VARIABLES:
30     C tmp4delX :: temporary arrays to read in delX
31     C tmp8delX :: temporary arrays to read in delX
32     C tmp4delY :: temporary arrays to read in delY
33     C tmp8delY :: temporary arrays to read in delY
34     C msgBuf :: Informational/error meesage buffer
35     C iUnit :: Work variable for IO unit number
36     C i, j :: Loop counters
37     REAL*4 tmp4delX(Nx), tmp4delY(Ny)
38     REAL*8 tmp8delX(Nx), tmp8delY(Ny)
39     CHARACTER*(MAX_LEN_MBUF) msgBuf
40     INTEGER i, j, iLen, iUnit
41     INTEGER ILNBLNK
42     EXTERNAL ILNBLNK
43    
44     C X coordinate
45     IF ( delXFile .NE. ' ' ) THEN
46     _BEGIN_MASTER( myThid )
47     CALL MDSFINDUNIT( iUnit, myThid )
48     iLen = ILNBLNK(delXFile)
49     IF (readBinaryPrec.EQ.precFloat32) THEN
50     OPEN(iUnit, FILE=delXFile(1:iLen), STATUS='OLD',
51     & FORM='UNFORMATTED',ACCESS='DIRECT',RECL=WORDLENGTH*Nx)
52     READ(iUnit,rec=1) tmp4delX
53     CLOSE(iUnit)
54     #ifdef _BYTESWAPIO
55     CALL MDS_BYTESWAPR4( Nx, tmp4delX )
56     #endif
57     DO i=1,Nx
58     delX(i) = tmp4delX(i)
59     ENDDO
60     ELSEIF (readBinaryPrec.EQ.precFloat64) THEN
61     OPEN(iUnit, FILE=delXFile(1:iLen), STATUS='OLD',
62     & FORM='UNFORMATTED',ACCESS='DIRECT',RECL=WORDLENGTH*2*Nx)
63     READ(iUnit,rec=1) tmp8delX
64     CLOSE(iUnit)
65     #ifdef _BYTESWAPIO
66     CALL MDS_BYTESWAPR8( Nx, tmp8delX )
67     #endif
68     DO i=1,Nx
69     delX(i) = tmp8delX(i)
70     ENDDO
71     ENDIF
72     WRITE(msgBuf,'(3A)') 'S/R LOAD_GRID_SPACING:',
73     & ' delX loaded from file: ', delXFile(1:iLen)
74     CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
75     & SQUEEZE_RIGHT , myThid)
76     _END_MASTER(myThid)
77     ENDIF
78    
79     C Y coordinate
80     IF ( delYFile .NE. ' ' ) THEN
81     _BEGIN_MASTER( myThid )
82     CALL MDSFINDUNIT( iUnit, myThid )
83     iLen = ILNBLNK(delYFile)
84     IF (readBinaryPrec.EQ.precFloat32) THEN
85     OPEN(iUnit, FILE=delYFile(1:iLen), STATUS='OLD',
86     & FORM='UNFORMATTED',ACCESS='DIRECT',RECL=WORDLENGTH*Ny)
87     READ(iUnit,rec=1) tmp4delY
88     CLOSE(iUnit)
89     #ifdef _BYTESWAPIO
90     CALL MDS_BYTESWAPR4( Ny, tmp4delY )
91     #endif
92     DO j=1,Ny
93     delY(j) = tmp4delY(j)
94     ENDDO
95     ELSEIF (readBinaryPrec.EQ.precFloat64) THEN
96     OPEN(iUnit, FILE=delYFile(1:iLen), STATUS='OLD',
97     & FORM='UNFORMATTED',ACCESS='DIRECT',RECL=WORDLENGTH*2*Ny)
98     READ(iUnit,rec=1) tmp8delY
99     CLOSE(iUnit)
100     #ifdef _BYTESWAPIO
101     CALL MDS_BYTESWAPR8( Ny, tmp8delY )
102     #endif
103     DO j=1,Ny
104     delY(j) = tmp8delY(j)
105     ENDDO
106     ENDIF
107     WRITE(msgBuf,'(3A)') 'S/R LOAD_GRID_SPACING:',
108     & ' delY loaded from file: ', delYFile(1:iLen)
109     CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
110     & SQUEEZE_RIGHT , myThid)
111     _END_MASTER(myThid)
112     ENDIF
113    
114     C-- Everyone else must wait for the parameters to be loaded
115     _BARRIER
116    
117     RETURN
118     END

  ViewVC Help
Powered by ViewVC 1.1.22