/[MITgcm]/MITgcm/pkg/icefront/icefront_init_fixed.F
ViewVC logotype

Annotation of /MITgcm/pkg/icefront/icefront_init_fixed.F

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


Revision 1.1 - (hide annotations) (download)
Wed Jan 20 23:33:45 2010 UTC (14 years, 4 months ago) by dimitri
Branch: MAIN
Adding the shell of, and the hooks to, a new package that will be
used to model melting and freezing of vertical glacier ice fronts:
 Modified Files:
 	doc/tag-index model/inc/PARAMS.h model/src/do_oceanic_phys.F
 	model/src/external_forcing.F model/src/packages_boot.F
 	model/src/packages_check.F model/src/packages_init_fixed.F
 	model/src/packages_init_variables.F
 	model/src/packages_readparms.F
 Added Files:
 	pkg/icefront/ICEFRONT.h pkg/icefront/ICEFRONT_OPTIONS.h
 	pkg/icefront/icefront_check.F
 	pkg/icefront/icefront_description.tex
 	pkg/icefront/icefront_diagnostics_init.F
 	pkg/icefront/icefront_init_fixed.F
 	pkg/icefront/icefront_init_varia.F
 	pkg/icefront/icefront_readparms.F
 	pkg/icefront/icefront_tendency_apply.F
 	pkg/icefront/icefront_thermodynamics.F

1 dimitri 1.1 C $Header: $
2     C $Name: $
3    
4     #include "ICEFRONT_OPTIONS.h"
5    
6     SUBROUTINE ICEFRONT_INIT_FIXED( myThid )
7     C *============================================================*
8     C | SUBROUTINE ICEFRONT_INIT_FIXED
9     C | o Routine to initialize ICEFRONT parameters and variables.
10     C *============================================================*
11     C | Initialize ICEFRONT 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 "ICEFRONT.h"
21    
22     C === Routine arguments ===
23     C myThid - Number of this instance of ICEFRONT_INIT_FIXED
24     INTEGER myThid
25    
26     #ifdef ALLOW_ICEFRONT
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     INTEGER diagMate
33     CHARACTER*8 diagName
34     CHARACTER*16 diagCode
35     CHARACTER*16 diagUnits
36     CHARACTER*(80) diagTitle
37     #endif /* ALLOW_DIAGNOSTICS */
38    
39     #ifdef ALLOW_MNC
40     C Initialize MNC variable information for ICEFRONT
41     IF ( useMNC .AND. (icefront_tave_mnc.OR.icefront_dump_mnc)
42     & ) THEN
43     CALL ICEFRONT_MNC_INIT( myThid )
44     ENDIF
45     #endif /* ALLOW_MNC */
46    
47     C-----------------------------------------------------------------------
48     C-- Initialize ICEFRONT variables kTopC
49     C-- kTopC is the same as kSurfC, except for places over land.
50     C-- Over land (completely dry cells), kTop = 0, while kSurfC = Nr+1
51     C-----------------------------------------------------------------------
52    
53     DO bj = myByLo(myThid), myByHi(myThid)
54     DO bi = myBxLo(myThid), myBxHi(myThid)
55     DO J = 1-OLy, sNy+OLy
56     DO I = 1-OLx, sNx+OLx
57     kTopC(i,j,bi,bj) = 0
58     DO K = Nr, 1, -1
59     IF ( maskC(I,J,K,bi,bj) .NE. 0. _d 0 )
60     & kTopC(I,J,bi,bj) = K
61     ENDDO
62     ENDDO
63     ENDDO
64     ENDDO
65     ENDDO
66    
67     #ifdef ALLOW_DIAGNOSTICS
68     IF ( useDiagnostics ) THEN
69     diagName = 'SHIfwFlx'
70     diagTitle = 'Ice shelf fresh water flux (positive upward)'
71     diagUnits = 'kg/m^2/s '
72     diagCode = 'SM L1 '
73     CALL DIAGNOSTICS_ADDTOLIST( diagNum,
74     I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
75    
76     diagName = 'SHIhtFlx'
77     diagTitle = 'Ice shelf heat flux (positive upward)'
78     diagUnits = 'W/m^2 '
79     diagCode = 'SM L1 '
80     CALL DIAGNOSTICS_ADDTOLIST( diagNum,
81     I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
82    
83     diagName = 'SHIUDrag'
84     diagTitle = 'U momentum tendency from ice shelf drag'
85     diagUnits = 'm/s^2 '
86     diagCode = 'UU L1 '
87     diagMate = diagNum + 2
88     CALL DIAGNOSTICS_ADDTOLIST( diagNum,
89     I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
90    
91     diagName = 'SHIVDrag'
92     diagTitle = 'V momentum tendency from ice shelf drag'
93     diagUnits = 'm/s^2 '
94     diagCode = 'VV L1 '
95     diagMate = diagNum
96     CALL DIAGNOSTICS_ADDTOLIST( diagNum,
97     I diagName, diagCode, diagUnits, diagTitle, diagMate, myThid )
98    
99     diagName = 'SHIForcT'
100     diagTitle = 'Ice shelf forcing for theta, >0 increases theta'
101     diagUnits = 'W/m^2 '
102     diagCode = 'SM L1 '
103     CALL DIAGNOSTICS_ADDTOLIST( diagNum,
104     I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
105    
106     diagName = 'SHIForcS'
107     diagTitle = 'Ice shelf forcing for salt, >0 increases salt'
108     diagUnits = 'g/m^2/s '
109     diagCode = 'SM L1 '
110     CALL DIAGNOSTICS_ADDTOLIST( diagNum,
111     I diagName, diagCode, diagUnits, diagTitle, 0, myThid )
112     ENDIF
113     #endif /* ALLOW_DIAGNOSTICS */
114     #endif /* ALLOW_ICEFRONT */
115    
116     RETURN
117     END

  ViewVC Help
Powered by ViewVC 1.1.22