/[MITgcm]/MITgcm/pkg/seaice/groatb.F
ViewVC logotype

Annotation of /MITgcm/pkg/seaice/groatb.F

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


Revision 1.1.2.2 - (hide annotations) (download)
Thu Dec 5 08:06:17 2002 UTC (22 years, 7 months ago) by dimitri
Branch: release1
CVS Tags: release1_p9
Changes since 1.1.2.1: +7 -5 lines
release1_p9
o pkg/seaice
  - removed GOTO's and added taf directives
  - double precision constants to reduce the g77 (Linux)
    to F77 (SGI) differences reported in release1_p8
o tools/genmake
  - added SGI options
o verification/testscript
  - updated to that of checkpoint47a_post
o verification/global_ocean.90x40x15/input/eedata
  - modified for SGI f77 compatibility
o verification/lab_sea
  - added description of sea-ice model
  - added missing matlab routines
  - added test of thermodynamics parallelization
Modified Files:
 Tag: release1
   doc/tag-index pkg/seaice/SEAICE_FFIELDS.h
   pkg/seaice/SEAICE_PARAMS.h pkg/seaice/adi.F
   pkg/seaice/advect.F pkg/seaice/budget.F pkg/seaice/diffus.F
   pkg/seaice/dynsolver.F pkg/seaice/groatb.F pkg/seaice/growth.F
   pkg/seaice/lsr.F pkg/seaice/ostres.F
   pkg/seaice/seaice_do_diags.F pkg/seaice/seaice_get_forcing.F
   pkg/seaice/seaice_init.F pkg/seaice/seaice_model.F
   pkg/seaice/seaice_readparms.F tools/genmake
   verification/testscript
   verification/global_ocean.90x40x15/input/eedata
   verification/lab_sea/README
   verification/lab_sea/code/CPP_EEOPTIONS.h
   verification/lab_sea/code/CPP_EEOPTIONS_MPI.h
   verification/lab_sea/code/CPP_OPTIONS.h
   verification/lab_sea/code/SIZE.h
   verification/lab_sea/code/SIZE_2x1.h
   verification/lab_sea/input/data
   verification/lab_sea/matlab/lookat_exp1.m
   verification/lab_sea/matlab/lookat_exp2.m
   verification/lab_sea/matlab/lookat_exp3.m
   verification/lab_sea/matlab/lookat_exp4.m
   verification/lab_sea/matlab/lookat_exp5.m
   verification/lab_sea/matlab/lookat_exp6.m
   verification/lab_sea/results/AREAtave.0000000010.data
   verification/lab_sea/results/HEFFtave.0000000010.data
   verification/lab_sea/results/UICEtave.0000000010.data
   verification/lab_sea/results/VICEtave.0000000010.data
   verification/lab_sea/results/output.txt
Added Files:
 Tag: release1
   verification/lab_sea/seaice.ps
   verification/lab_sea/matlab/lookat_exp7.m
   verification/lab_sea/matlab/mmax.m
   verification/lab_sea/matlab/mypcolor.m
   verification/lab_sea/matlab/myquiver.m
   verification/lab_sea/matlab/readbin.m
   verification/lab_sea/matlab/wysiwyg.m
Removed Files:
 Tag: release1
   verification/lab_sea/code/KPP_OPTIONS.h

1 heimbach 1.1.2.1 C $Header:
2    
3     #include "SEAICE_OPTIONS.h"
4    
5     CStartOfInterface
6     SUBROUTINE groatb( A22, myThid )
7     C /==========================================================\
8     C | SUBROUTINE groatb |
9     C | o Calculate ice growth |
10     C |==========================================================|
11     C \==========================================================/
12     IMPLICIT NONE
13    
14     C === Global variables ===
15     #include "SIZE.h"
16     #include "EEPARAMS.h"
17     #include "PARAMS.h"
18     #include "DYNVARS.h"
19     #include "FFIELDS.h"
20     #include "SEAICE.h"
21     #include "SEAICE_FFIELDS.h"
22    
23     C === Routine arguments ===
24     C myThid - Thread no. that called this routine.
25     _RL A22
26     INTEGER myThid
27     CEndOfInterface
28    
29     #ifdef ALLOW_SEAICE
30    
31     C === Local variables ===
32     C i,j,k,bi,bj - Loop counters
33    
34     INTEGER i, j, k, bi, bj
35     INTEGER KOPEN
36     _RL U1, V1
37    
38     _RL HICE (1-OLx:sNx+OLx, 1-OLy:sNy+OLy)
39     _RL AR (1-OLx:sNx+OLx, 1-OLy:sNy+OLy)
40     _RL UG (1-OLx:sNx+OLx, 1-OLy:sNy+OLy)
41    
42     C if this is not done before then do it here
43     _EXCH_XY_R8(GAIRX, myThid)
44     _EXCH_XY_R8(GAIRY, myThid)
45    
46 dimitri 1.1.2.2 c$taf loop = parallel
47 heimbach 1.1.2.1 DO bj=myByLo(myThid),myByHi(myThid)
48 dimitri 1.1.2.2 c$taf loop = parallel
49 heimbach 1.1.2.1 DO bi=myBxLo(myThid),myBxHi(myThid)
50    
51     C DETERMINE AMOUNT OF OPEN WATER AND ICE THICKNESS
52     DO J=1,sNy
53     DO I=1,sNx
54     AREA(I,J,2,bi,bj)=MAX(A22,AREA(I,J,2,bi,bj))
55 dimitri 1.1.2.2 FHEFF(I,J,bi,bj)=0.0 _d 0
56 heimbach 1.1.2.1 HICE(I,J)=HEFF(I,J,2,bi,bj)/AREA(I,J,2,bi,bj)
57     ENDDO
58     ENDDO
59    
60     C NOW DETERMINE MIXED LAYER TEMPERATURE
61     DO J=1,sNy
62     DO I=1,sNx
63 dimitri 1.1.2.2 TMIX(I,J,bi,bj)=theta(I,J,1,bi,bj)+273.16 _d +00
64 heimbach 1.1.2.1 #ifdef SEAICE_DEBUG
65 dimitri 1.1.2.2 TMIX(I,J,bi,bj)=MAX(TMIX(I,J,bi,bj),271.2 _d +00)
66 heimbach 1.1.2.1 #endif SEAICE_DEBUG
67     ENDDO
68     ENDDO
69    
70     DO J=1,sNy
71     DO I=1,sNx
72 dimitri 1.1.2.2 U1=0.25 _d 0*(GAIRX(I-1,J-1,bi,bj)+GAIRX(I-1,J,bi,bj)
73 heimbach 1.1.2.1 1 +GAIRX(I,J-1,bi,bj)+GAIRX(I,J,bi,bj))
74 dimitri 1.1.2.2 V1=0.25 _d 0*(GAIRY(I-1,J-1,bi,bj)+GAIRY(I-1,J,bi,bj)
75 heimbach 1.1.2.1 1 +GAIRY(I,J-1,bi,bj)+GAIRY(I,J,bi,bj))
76     UG(I,J)=SQRT(U1**2+V1**2)
77     ENDDO
78     ENDDO
79    
80     C NOW DETERMINE GROWTH RATES
81     C FIRST DO OPEN WATER
82     KOPEN=-1
83     CALL BUDGET(UG, TMIX, HICE, FO, KOPEN, bi, bj)
84     C NOW DO ICE
85     KOPEN=1
86     CALL BUDGET(UG, TICE, HICE, FICE, KOPEN, bi, bj)
87    
88     ENDDO
89     ENDDO
90    
91     #endif ALLOW_SEAICE
92    
93     RETURN
94     END

  ViewVC Help
Powered by ViewVC 1.1.22