/[MITgcm]/MITgcm/pkg/shelfice/shelfice_init_fixed.F
ViewVC logotype

Annotation of /MITgcm/pkg/shelfice/shelfice_init_fixed.F

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


Revision 1.1 - (hide annotations) (download)
Wed Sep 10 09:18:35 2008 UTC (15 years, 8 months ago) by mlosch
Branch: MAIN
CVS Tags: checkpoint61f, checkpoint61g, checkpoint61d, checkpoint61e
 - move code for reading ice shelf topography and modifying hFacC into separate
   subroutines of the shelfice package
 - separate initialisation of "fixed" and "variable" variables

1 mlosch 1.1 C $Header: $
2     C $Name: $
3    
4     #include "SHELFICE_OPTIONS.h"
5    
6     SUBROUTINE SHELFICE_INIT_FIXED( myThid )
7     C /============================================================\
8     C | SUBROUTINE SHELFICE_INIT_FIXED |
9     C | o Routine to initialize SHELFICE parameters and variables. |
10     C |============================================================|
11     C | Initialize SHELFICE parameters and variables. |
12     C \============================================================/
13     IMPLICIT NONE
14    
15     C === Global variables ===
16     #include "SIZE.h"
17     #include "EEPARAMS.h"
18     #include "PARAMS.h"
19     #include "GRID.h"
20     #include "SHELFICE.h"
21    
22     C === Routine arguments ===
23     C myThid - Number of this instance of SHELFICE_INIT_FIXED
24     INTEGER myThid
25    
26     #ifdef ALLOW_SHELFICE
27     C === Local variables ===
28     C I,J,K,bi,bj - Loop counters
29     INTEGER I, J, K, bi, bj
30     #ifdef ALLOW_DIAGNOSTICS
31     INTEGER diagNum
32     CHARACTER*8 diagName
33     CHARACTER*16 diagCode
34     CHARACTER*16 diagUnits
35     CHARACTER*(80) diagTitle
36     #endif /* ALLOW_DIAGNOSTICS */
37    
38     C-----------------------------------------------------------------------
39     C-- Initialize SHELFICE variables kTopC
40     C-- kTopC is the same as kSurfC, except for places over land.
41     C-- Over land (completely dry cells), kTop = 0, while kSurfC = Nr+1
42     C-----------------------------------------------------------------------
43    
44     DO bj = myByLo(myThid), myByHi(myThid)
45     DO bi = myBxLo(myThid), myBxHi(myThid)
46     DO J = 1-OLy, sNy+OLy
47     DO I = 1-OLx, sNx+OLx
48     kTopC(i,j,bi,bj) = 0
49     DO K = Nr, 1, -1
50     IF ( maskC(I,J,K,bi,bj) .NE. 0. _d 0 )
51     & kTopC(I,J,bi,bj) = K
52     ENDDO
53     ENDDO
54     ENDDO
55     ENDDO
56     ENDDO
57    
58     #ifdef ALLOW_DIAGNOSTICS
59     IF ( useDiagnostics ) THEN
60     diagName = 'SHIfwFlx'
61     diagTitle = 'SHELFICE fresh water flux (positive upward)'
62     diagUnits = 'kg/m^2/s '
63     diagCode = 'SM M1 '
64     CALL DIAGNOSTICS_ADD2LIST( diagNum,
65     I diagName, diagCode, diagUnits, diagTitle, myThid )
66    
67     diagName = 'SHIhtFlx'
68     diagTitle = 'SHELFICE heat flux (positive upward)'
69     diagUnits = 'W/m^2 '
70     diagCode = 'SM M1 '
71     CALL DIAGNOSTICS_ADD2LIST( diagNum,
72     I diagName, diagCode, diagUnits, diagTitle, myThid )
73    
74     diagName = 'USHIDrag'
75     diagTitle = 'U momentum tendency from Shelfice Drag'
76     diagUnits = 'm/s^2 '
77     WRITE(diagCode,'(A,I3.3,A)') 'UU ',diagNum+2,'MR '
78     CALL DIAGNOSTICS_ADD2LIST( diagNum,
79     I diagName, diagCode, diagUnits, diagTitle, myThid )
80    
81     diagName = 'VSHIDrag'
82     diagTitle = 'V momentum tendency from Shelfice Drag'
83     diagUnits = 'm/s^2 '
84     WRITE(diagCode,'(A,I3.3,A)') 'VV ', diagNum, 'MR '
85     CALL DIAGNOSTICS_ADD2LIST( diagNum,
86     I diagName, diagCode, diagUnits, diagTitle, myThid )
87     ENDIF
88     #endif /* ALLOW_DIAGNOSTICS */
89     #endif /* ALLOW_SHELFICE */
90    
91     RETURN
92     END
93    

  ViewVC Help
Powered by ViewVC 1.1.22