/[MITgcm]/MITgcm_contrib/shelfice_remeshing/code/shelfice_remeshing.F
ViewVC logotype

Annotation of /MITgcm_contrib/shelfice_remeshing/code/shelfice_remeshing.F

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


Revision 1.3 - (hide annotations) (download)
Wed Aug 19 10:28:51 2015 UTC (9 years, 11 months ago) by dgoldberg
Branch: MAIN
Changes since 1.2: +48 -4 lines
*** empty log message ***

1 dgoldberg 1.3 C $Header: /u/gcmpack/MITgcm_contrib/shelfice_remeshing/code/shelfice_remeshing.F,v 1.2 2015/08/07 10:35:32 dgoldberg Exp $
2 dgoldberg 1.1 C $Name: $
3     #include "SHELFICE_OPTIONS.h"
4     #ifdef ALLOW_CTRL
5     # include "CTRL_OPTIONS.h"
6     #endif
7    
8     CBOP
9 dgoldberg 1.2 C !ROUTINE: SHELFICE_REMESHING
10 dgoldberg 1.1 C !INTERFACE:
11     SUBROUTINE SHELFICE_REMESHING(
12 dgoldberg 1.2 I myTime, myIter, myThid )
13 dgoldberg 1.1 C !DESCRIPTION: \bv
14 dgoldberg 1.2 C *==========================================================*
15     C | SUBROUTINE SHELFICE_UPDATE_MASKS
16     C | o modify topography factor hFacC according to ice shelf
17     C | topography
18     C *==========================================================*
19 dgoldberg 1.1 C \ev
20    
21     C !USES:
22     IMPLICIT NONE
23     C === Global variables ===
24     #include "SIZE.h"
25     #include "EEPARAMS.h"
26     #include "PARAMS.h"
27     #include "DYNVARS.h"
28 dgoldberg 1.2 #include "SURFACE.h"
29     #include "GRID.h"
30     #ifdef ALLOW_SHELFICE
31     # include "SHELFICE.h"
32     #endif /* ALLOW_SHELFICE */
33    
34     C !INPUT/OUTPUT PARAMETERS:
35     C == Routine arguments ==
36     C rF :: R-coordinate of face of cell (units of r).
37     C recip_drF :: Recipricol of cell face separation along Z axis ( units of r ).
38     C hFacC :: Fraction of cell in vertical which is open (see GRID.h)
39     C myThid :: Number of this instance of SHELFICE_UPDATE_MASKS
40    
41    
42     _RS tmpfld(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
43    
44 dgoldberg 1.1
45    
46 dgoldberg 1.2 INTEGER myThid
47 dgoldberg 1.1 INTEGER myIter
48 dgoldberg 1.2 _RL myTime
49     LOGICAL DIFFERENT_MULTIPLE
50     EXTERNAL DIFFERENT_MULTIPLE
51     #ifdef ALLOW_SHELFICE
52     C !LOCAL VARIABLES:
53     C == Local variables ==
54     C bi,bj :: tile indices
55     C I,J,K :: Loop counters
56     INTEGER bi, bj
57     INTEGER I, J, K
58 dgoldberg 1.1 _RL hFacCtmp
59     _RL hFacMnSz
60     CEOP
61 dgoldberg 1.2 #ifdef ALLOW_SHELFICE
62     #endif /* ALLOW_SHELFICE */
63 dgoldberg 1.1
64 dgoldberg 1.2 IF ((myTime/ShelficeRemeshFrequency) .EQ.
65     & INT (myTime/ShelficeRemeshFrequency) .AND. myTime
66     & .NE. 0.0 ) THEN
67    
68 dgoldberg 1.3
69     CALL WRITE_FLD_XY_RS( 'etaHb',' ',etaH,0,myThid)
70     CALL WRITE_FLD_XY_RS( 'etaNb',' ',etaN,0,myThid)
71     CALL WRITE_FLD_XYZ_RS( 'hFacCb',' ',hFacC,0,myThid)
72     CALL WRITE_FLD_XYZ_RS( 'hFacWb',' ',hFacW,0,myThid)
73     CALL WRITE_FLD_XYZ_RS( 'hFacSb',' ',hFacS,0,myThid)
74    
75     print* ,' JJetaN1', etaN(1,69,1,1)
76     print* ,' JJetaH1', etaH(1,69,1,1)
77     print* ,' JJhfac1', hfacC(1,69,50,1,1)
78    
79    
80 dgoldberg 1.2 CALL INI_MASKS_ETC_JJ (myThid)
81 dgoldberg 1.3 print* ,' JJetaN2', etaN(1,69,1,1)
82     print* ,' JJetaH2', etaH(1,69,1,1)
83     print* ,' JJhfac2', hfacC(1,69,50,1,1)
84    
85 dgoldberg 1.2 CALL INI_LINEAR_PHISURF(myThid)
86 dgoldberg 1.3 print* ,' JJetaN3', etaN(1,69,1,1)
87     print* ,' JJetaH3', etaH(1,69,1,1)
88     print* ,' JJhfac3', hfacC(1,69,50,1,1)
89    
90     CALL INI_CG2D (myThid)
91     print* ,' JJetaN4', etaN(1,69,1,1)
92     print* ,' JJetaH4', etaH(1,69,1,1)
93     print* ,' JJhfac4', hfacC(1,69,50,1,1)
94    
95     CALL UPDATE_SURF_DR(.FALSE., myTime, myIter, myThid)
96     print* ,' JJetaN5', etaN(1,69,1,1)
97     print* ,' JJetaH5', etaH(1,69,1,1)
98     print* ,' JJhfac5', hfacC(1,69,50,1,1)
99    
100 dgoldberg 1.2 CALL UPDATE_CG2D(myTime,myIter, myThid)
101 dgoldberg 1.3 print* ,' JJetaN6', etaN(1,69,1,1)
102     print* ,' JJetaH6', etaH(1,69,1,1)
103     print* ,' JJhfac6', hfacC(1,69,50,1,1)
104    
105 dgoldberg 1.2 CALL SOLVE_FOR_PRESSURE(myTime,myIter,myThid)
106 dgoldberg 1.3 print* ,' JJetaN7', etaN(1,69,1,1)
107     print* ,' JJetaH7', etaH(1,69,1,1)
108     print* ,' JJhfac7', hfacC(1,69,50,1,1)
109    
110 dgoldberg 1.2 CALL CALC_SURF_DR( etaH, myTime, myIter, myThid )
111 dgoldberg 1.3 print* ,' JJetaN8', etaN(1,69,1,1)
112     print* ,' JJetaH8', etaH(1,69,1,1)
113     print* ,' JJhfac8', hfacC(1,69,50,1,1)
114    
115     CALL WRITE_FLD_XY_RS( 'etaHa',' ',etaH,0,myThid)
116     CALL WRITE_FLD_XY_RS( 'etaNa',' ',etaN,0,myThid)
117     CALL WRITE_FLD_XYZ_RS( 'hFacCa',' ',hFacC,0,myThid)
118     CALL WRITE_FLD_XYZ_RS( 'hFacWa',' ',hFacW,0,myThid)
119     CALL WRITE_FLD_XYZ_RS( 'hFacSa',' ',hFacS,0,myThid)
120 dgoldberg 1.1
121    
122    
123 dgoldberg 1.2 ENDIF
124     #endif /* ALLOW_SHELFICE */
125 dgoldberg 1.1
126     RETURN
127     END

  ViewVC Help
Powered by ViewVC 1.1.22