/[MITgcm]/MITgcm/pkg/generic_advdiff/gad_som_fill_cs_corner.F
ViewVC logotype

Contents of /MITgcm/pkg/generic_advdiff/gad_som_fill_cs_corner.F

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


Revision 1.2 - (show annotations) (download)
Fri May 9 21:43:16 2008 UTC (16 years ago) by jmc
Branch: MAIN
CVS Tags: checkpoint60, checkpoint61, checkpoint59r, checkpoint61d, checkpoint61b, checkpoint61c, checkpoint61a
Changes since 1.1: +1 -4 lines
change option: GAD_ALLOW_SOM_ADVECT to GAD_ALLOW_TS_SOM_ADV which only
applies to files where Temperature & salinity 2nd Order moments are used

1 C $Header: /u/gcmpack/MITgcm/pkg/generic_advdiff/gad_som_fill_cs_corner.F,v 1.1 2008/02/12 20:32:34 jmc Exp $
2 C $Name: $
3
4 #include "GAD_OPTIONS.h"
5
6 CBOP
7 C !ROUTINE: GAD_SOM_FILL_CS_CORNER
8 C !INTERFACE:
9 SUBROUTINE GAD_SOM_FILL_CS_CORNER(
10 I fill4dirX,
11 U sm_v, sm_o, sm_x, sm_y, sm_z,
12 U sm_xx, sm_yy, sm_zz, sm_xy, sm_xz, sm_yz,
13 I bi, bj, myThid )
14
15 C !DESCRIPTION: \bv
16 C *==========================================================*
17 C | SUBROUTINE GAD_SOM_FILL_CS_CORNER
18 C | o Wraper S/R to fill the corner-halo region of CS-grid,
19 C | for all moments of a 1 tracer field
20 C *==========================================================*
21 C | o the corner halo region is filled with valid values
22 C | in order to compute (later on) gradient in X or Y
23 C | direction, on a wide stencil.
24 C *==========================================================*
25 C \ev
26 C !USES:
27 IMPLICIT NONE
28
29 C === Global variables ===
30 #include "SIZE.h"
31 #include "EEPARAMS.h"
32 #include "PARAMS.h"
33 #include "GAD.h"
34
35 C !INPUT/OUTPUT PARAMETERS:
36 C === Routine arguments ===
37 C fill4dirX :: True = prepare for X direction calculations
38 C otherwise, prepare for Y direction
39 C sm_v :: volume of grid cell
40 C sm_o :: tracer content of grid cell (zero order moment)
41 C sm_x,y,z :: 1rst order moment of tracer distribution, in x,y,z direction
42 C sm_xx,yy,zz :: 2nd order moment of tracer distribution, in x,y,z direction
43 C sm_xy,xz,yz :: 2nd order moment of tracer distr., in cross direction xy,xz,yz
44 C bi,bj :: tile indices
45 C myThid :: my Thread Id. number
46 LOGICAL fill4dirX
47 _RL sm_v (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
48 _RL sm_o (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
49 _RL sm_x (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
50 _RL sm_y (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
51 _RL sm_z (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
52 _RL sm_xx (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
53 _RL sm_yy (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
54 _RL sm_zz (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
55 _RL sm_xy (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
56 _RL sm_xz (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
57 _RL sm_yz (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
58 INTEGER bi,bj
59 INTEGER myThid
60
61 C !LOCAL VARIABLES:
62 C == Local variables ==
63 CEOP
64
65 IF (useCubedSphereExchange) THEN
66 CALL FILL_CS_CORNER_TR_RL( fill4dirX, .FALSE.,
67 & sm_v , bi,bj, myThid )
68 CALL FILL_CS_CORNER_TR_RL( fill4dirX, .FALSE.,
69 & sm_o , bi,bj, myThid )
70 CALL FILL_CS_CORNER_AG_RL( fill4dirX, .TRUE.,
71 & sm_x , sm_y , bi,bj, myThid )
72 CALL FILL_CS_CORNER_TR_RL( fill4dirX, .FALSE.,
73 & sm_z , bi,bj, myThid )
74 CALL FILL_CS_CORNER_AG_RL( fill4dirX, .FALSE.,
75 & sm_xx, sm_yy, bi,bj, myThid )
76 CALL FILL_CS_CORNER_TR_RL( fill4dirX, .FALSE.,
77 & sm_zz, bi,bj, myThid )
78 CALL FILL_CS_CORNER_TR_RL( fill4dirX, .TRUE.,
79 & sm_xy, bi,bj, myThid )
80 CALL FILL_CS_CORNER_AG_RL( fill4dirX, .TRUE.,
81 & sm_xz, sm_yz, bi,bj, myThid )
82 ENDIF
83
84 RETURN
85 END

  ViewVC Help
Powered by ViewVC 1.1.22