/[MITgcm]/MITgcm/pkg/obcs/obcs_init_fixed.F
ViewVC logotype

Annotation of /MITgcm/pkg/obcs/obcs_init_fixed.F

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


Revision 1.4 - (hide annotations) (download)
Wed Jan 30 04:22:31 2002 UTC (22 years, 3 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint46n_post, checkpoint51k_post, checkpoint47e_post, checkpoint57m_post, checkpoint52l_pre, checkpoint44e_post, hrcube4, hrcube5, checkpoint46l_post, checkpoint57g_pre, checkpoint46g_pre, checkpoint47c_post, checkpoint50c_post, checkpoint57s_post, checkpoint57b_post, checkpoint46f_post, checkpoint52d_pre, checkpoint57g_post, checkpoint48e_post, checkpoint56b_post, checkpoint50c_pre, checkpoint57y_post, checkpoint44f_post, checkpoint46b_post, checkpoint52j_pre, checkpoint51o_pre, checkpoint54d_post, checkpoint54e_post, checkpoint51l_post, checkpoint48i_post, checkpoint57r_post, checkpoint46l_pre, checkpoint57d_post, checkpoint57i_post, checkpoint52l_post, checkpoint52k_post, chkpt44d_post, checkpoint55, checkpoint54, checkpoint57, checkpoint56, checkpoint51, checkpoint50, checkpoint53, checkpoint52, checkpoint50d_post, checkpoint52f_post, checkpoint57n_post, checkpoint50b_pre, checkpoint44e_pre, checkpoint54f_post, checkpoint51f_post, checkpoint48b_post, checkpoint51d_post, checkpoint48c_pre, checkpoint47d_pre, checkpoint51t_post, checkpoint51n_post, checkpoint55i_post, checkpoint57l_post, checkpoint52i_pre, hrcube_1, hrcube_2, hrcube_3, checkpoint51s_post, checkpoint47a_post, checkpoint57t_post, checkpoint55c_post, checkpoint48d_pre, checkpoint51j_post, checkpoint47i_post, checkpoint52e_pre, checkpoint57v_post, checkpoint57f_post, checkpoint52e_post, checkpoint51n_pre, checkpoint47d_post, checkpoint53d_post, checkpoint46d_pre, checkpoint57a_post, checkpoint48d_post, checkpoint57h_pre, checkpoint48f_post, checkpoint45d_post, checkpoint52b_pre, checkpoint54b_post, checkpoint46j_pre, checkpoint57h_post, checkpoint51l_pre, checkpoint52m_post, checkpoint57y_pre, chkpt44a_post, checkpoint55g_post, checkpoint44h_pre, checkpoint48h_post, checkpoint51q_post, checkpoint51b_pre, checkpoint46a_post, checkpoint47g_post, checkpoint52b_post, checkpoint52c_post, checkpoint46j_post, checkpoint51h_pre, checkpoint46k_post, chkpt44c_pre, checkpoint48a_post, checkpoint45a_post, checkpoint57c_post, checkpoint50f_post, checkpoint50a_post, checkpoint50f_pre, checkpoint52f_pre, checkpoint55d_post, checkpoint47j_post, checkpoint54a_pre, checkpoint53c_post, checkpoint55d_pre, checkpoint57c_pre, checkpoint55j_post, branch-exfmods-tag, checkpoint44g_post, branchpoint-genmake2, checkpoint54a_post, checkpoint46e_pre, checkpoint55h_post, checkpoint51r_post, checkpoint48c_post, checkpoint45b_post, checkpoint46b_pre, checkpoint51i_post, checkpoint57e_post, release1_final_v1, checkpoint55b_post, checkpoint51b_post, checkpoint51c_post, checkpoint46c_pre, checkpoint53a_post, checkpoint46, checkpoint47b_post, checkpoint44b_post, checkpoint55f_post, checkpoint46h_pre, checkpoint52d_post, checkpoint53g_post, checkpoint46m_post, checkpoint57p_post, checkpint57u_post, checkpoint46a_pre, checkpoint50g_post, checkpoint45c_post, checkpoint57q_post, checkpoint44h_post, eckpoint57e_pre, checkpoint46g_post, checkpoint52a_pre, checkpoint50h_post, checkpoint52i_post, checkpoint50e_pre, checkpoint50i_post, checkpoint51i_pre, checkpoint52h_pre, checkpoint56a_post, checkpoint53f_post, checkpoint57h_done, checkpoint52j_post, checkpoint47f_post, checkpoint50e_post, chkpt44a_pre, checkpoint46i_post, checkpoint57j_post, checkpoint57f_pre, checkpoint46c_post, branch-netcdf, checkpoint50d_pre, checkpoint52n_post, checkpoint53b_pre, checkpoint46e_post, checkpoint56c_post, checkpoint51e_post, checkpoint44b_pre, checkpoint57a_pre, checkpoint55a_post, checkpoint47, checkpoint45, checkpoint48, checkpoint49, checkpoint57o_post, checkpoint46h_post, checkpoint51o_post, checkpoint57k_post, checkpoint51f_pre, chkpt44c_post, checkpoint48g_post, checkpoint53b_post, checkpoint47h_post, checkpoint52a_post, checkpoint57w_post, checkpoint44f_pre, checkpoint51g_post, ecco_c52_e35, checkpoint57x_post, checkpoint46d_post, checkpoint50b_post, checkpoint51m_post, checkpoint53d_pre, checkpoint55e_post, checkpoint54c_post, checkpoint51a_post, checkpoint51p_post, checkpoint51u_post
Branch point for: branch-exfmods-curt, release1_final, branch-genmake2, branch-nonh, tg2-branch, netcdf-sm0, checkpoint51n_branch
Changes since 1.3: +45 -1 lines
NonLin_FreeSurf implemented with OBC (but not yet radiative OBC).

1 jmc 1.4 C $Header: /u/gcmpack/models/MITgcmUV/pkg/obcs/obcs_init_fixed.F,v 1.3 2001/05/14 21:36:45 heimbach Exp $
2 heimbach 1.3 C $Name: $
3 adcroft 1.2
4     #include "OBCS_OPTIONS.h"
5    
6     SUBROUTINE OBCS_INIT_FIXED( myThid )
7     C /==========================================================\
8     C | SUBROUTINE OBCS_INIT_FIXED |
9     C | o Initialise OBCs fixed arrays |
10     C |==========================================================|
11     C | |
12     C \==========================================================/
13     IMPLICIT NONE
14    
15     C === Global variables ===
16     #include "SIZE.h"
17     #include "EEPARAMS.h"
18     #include "PARAMS.h"
19     #include "OBCS.h"
20 jmc 1.4 #ifdef NONLIN_FRSURF
21     #include "GRID.h"
22     #include "SURFACE.h"
23     #endif
24 adcroft 1.2
25     C == Routine arguments ==
26     C myThid - Number of this instance of INI_DEPTHS
27     INTEGER myThid
28    
29     #ifdef ALLOW_OBCS
30    
31     C == Local variables ==
32     INTEGER iG, jG, iGm, jGm
33     INTEGER bi, bj
34     INTEGER I, J, K
35    
36     DO bj = myByLo(myThid), myByHi(myThid)
37     DO bi = myBxLo(myThid), myBxHi(myThid)
38    
39     DO I=1-Olx,sNx+Olx
40     OB_Jn(I,bi,bj)=0
41     OB_Js(I,bi,bj)=0
42     ENDDO
43    
44     DO J=1-Oly,sNy+Oly
45     OB_Ie(J,bi,bj)=0
46     OB_Iw(J,bi,bj)=0
47     ENDDO
48    
49     DO J=1-Oly,sNy+Oly
50 heimbach 1.3 C convert from local y index J to global y index jG
51 adcroft 1.2 jG = myYGlobalLo-1+(bj-1)*sNy+J
52 heimbach 1.3 C use periodicity to deal with out of range points caused by the overlaps.
53     C they will be excluded by the mask in any case, but this saves array
54     C out-of-bounds errors here.
55 adcroft 1.2 jGm = 1+mod( jG-1+Ny , Ny )
56 heimbach 1.3 C loop over local x index I
57 adcroft 1.2 DO I=1,sNx
58     iG = myXGlobalLo-1+(bi-1)*sNx+I
59     iGm = 1+mod( iG-1+Nx , Nx )
60 heimbach 1.3 C OB_Ieast(jGm) allows for the eastern boundary to be at variable x locations
61 adcroft 1.2 IF (iG.EQ.OB_Ieast(jGm)) OB_Ie(J,bi,bj)=I
62     IF (iG.EQ.OB_Iwest(jGm)) OB_Iw(J,bi,bj)=I
63     ENDDO
64     ENDDO
65     DO J=1,sNy
66     jG = myYGlobalLo-1+(bj-1)*sNy+J
67     jGm = 1+mod( jG-1+Ny , Ny )
68     DO I=1-Olx,sNx+Olx
69     iG = myXGlobalLo-1+(bi-1)*sNx+I
70     iGm = 1+mod( iG-1+Nx , Nx )
71 heimbach 1.3 C OB_Jnorth(iGm) allows for the northern boundary to be at variable y locations
72 adcroft 1.2 IF (jG.EQ.OB_Jnorth(iGm)) OB_Jn(I,bi,bj)=J
73     IF (jG.EQ.OB_Jsouth(iGm)) OB_Js(I,bi,bj)=J
74     ENDDO
75     ENDDO
76 jmc 1.4
77     #ifdef NONLIN_FRSURF
78    
79     C- save the initial hFacS at the N & S boundaries :
80     DO i=1-Olx,sNx+Olx
81     OBNhFac0(i,bi,bj)=0.
82     OBShFac0(i,bi,bj)=0.
83     C Northern boundary
84     IF ( OB_Jn(i,bi,bj).NE.0 ) THEN
85     j = OB_Jn(i,bi,bj)
86     k = ksurfS(i,j,bi,bj)
87     IF (k.LE.Nr) OBNhFac0(i,bi,bj)=hFacS(i,j,k,bi,bj)
88     ENDIF
89     C Southern boundary
90     IF ( OB_Js(i,bi,bj).NE.0 ) THEN
91     j = OB_Js(i,bi,bj)+1
92     k = ksurfS(i,j,bi,bj)
93     IF (k.LE.Nr) OBShFac0(i,bi,bj)=hFacS(i,j,k,bi,bj)
94     ENDIF
95     ENDDO
96    
97     C- save the initial hFacW at the E & W boundaries :
98     DO j=1-Oly,sNy+Oly
99     OBEhFac0(j,bi,bj)=0.
100     OBWhFac0(j,bi,bj)=0.
101     C Eastern boundary
102     IF ( OB_Ie(j,bi,bj).NE.0 ) THEN
103     i = OB_Ie(j,bi,bj)
104     k = ksurfW(i,j,bi,bj)
105     IF (k.LE.Nr) OBEhFac0(j,bi,bj)=hFacW(i,j,k,bi,bj)
106     ENDIF
107     C Western boundary
108     IF ( OB_Iw(j,bi,bj).NE.0 ) THEN
109     i = OB_Iw(j,bi,bj)+1
110     k = ksurfW(i,j,bi,bj)
111     IF (k.LE.Nr) OBWhFac0(j,bi,bj)=hFacW(i,j,k,bi,bj)
112     ENDIF
113     ENDDO
114    
115     #endif /* NONLIN_FRSURF */
116 adcroft 1.2
117     ENDDO
118     ENDDO
119    
120     #endif /* ALLOW_OBCS */
121     RETURN
122     END

  ViewVC Help
Powered by ViewVC 1.1.22