New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
h3cice.F in trunk/NEMO/TOP_SRC/SMS – NEMO

source: trunk/NEMO/TOP_SRC/SMS/h3cice.F @ 186

Last change on this file since 186 was 186, checked in by opalod, 19 years ago

CL + CE : NEMO TRC_SRC start

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.6 KB
Line 
1C $Id$
2CDIR$ LIST
3      SUBROUTINE h3cice
4#if defined key_passivetrc && defined key_trc_hamocc3
5c -------------------------------------------------------------------
6c
7c sous programme de calcul de la fraction de glace
8c   si c est le premier passage :
9c lecture des fractions Walsh & Zwally deja traites sur la grille
10c
11c  si pas de temps kt
12c  interpolation des champs mensuels 
13c
14c -------------------------------------------------------------------
15c
16CDIR$ NOLIST
17      USE oce_trc
18      USE trp_trc
19      USE sms
20      IMPLICIT NONE
21CDIR$ LIST
22      INTEGER ji, jj, jk,mo
23      INTEGER nvg,ios
24      INTEGER ntrice1,ntrice2
25      REAL    xcice,xcicem(12)     
26      REAL    ciceyr(jpi,jpj)
27     
28      nvg     = 95
29      WRITE(numout,*) 'Fraction de glace'
30      WRITE(numout,*)
31      WRITE(numout,1111) nvg
32 1111 FORMAT ('Glace:nvg :',i7)
33      WRITE(numout,'('' ---------------------------------- '')')
34c
35C Lecture  du fichier glace de mer
36C--------------------------------
37      DO mo=1,12
38#    if defined key_vpp
39        CALL read2s(nvg,cicemo(1,1,mo),jpi,jpj) 
40#    else
41        READ (nvg) cicemo(:,:,mo)
42#    endif
43      END DO 
44
45c Mask monthly sea ice with tracer mask of layer 1
46C-------------------------------------------------
47      DO mo=1,12
48        DO jj=1,jpj
49          DO ji=1,jpi
50            cicemo(ji,jj,mo) = cicemo(ji,jj,mo) * tmask(ji,jj,1)
51          END do
52        END do
53      END do
54
55c -------------------------------------------------------
56c         Any sea ice coverage below 0.2 is considered open ocean
57c         (see correspondence with Bonnie Samuels)
58c--------------------------------------------------------
59      DO mo=1,12
60        DO jj=1,jpj
61          DO ji=1,jpi
62            IF (cicemo(ji,jj,mo) .LT. 0.2) THEN
63                cicemo(ji,jj,mo) = 0.0
64            ELSE IF (cicemo(ji,jj,mo) .GT. 1.0) THEN
65                cicemo(ji,jj,mo) = 1.0
66            ENDIF
67          END DO
68        END DO
69      END DO
70c
71c--------------------------------------------------------
72c         Compute mean annual sea ice
73c--------------------------------------------------------
74      ciceyr = 0.0
75      DO jj=1,jpj
76        DO ji=1,jpi
77          DO mo=1,12
78            ciceyr(ji,jj) = ciceyr(ji,jj) + cicemo(ji,jj,mo)/12.
79          END DO
80        END DO
81      END DO
82c
83c--------------------------------------------------------
84c         Any sea ice coverage below 0.2 is considered open ocean
85c         (see correspondence with Bonnie Samuels)
86c--------------------------------------------------------
87      DO jj=1,jpj
88        DO ji=1,jpi
89          IF (ciceyr(ji,jj) .LT. 0.2) THEN
90              ciceyr(ji,jj) = 0.0
91          ELSE IF (ciceyr(ji,jj) .GT. 1.0) THEN
92              ciceyr(ji,jj) = 1.0
93          ENDIF
94        END DO
95      END DO
96c
97c--------------------------------------------------------
98c  Determine annual mean (area weighted) ocean sea ice coverage
99c--------------------------------------------------------
100      xcice = 0.0
101      DO jj=1,jpj
102        DO ji=2,jpim1
103          xcice = xcice + ciceyr(ji,jj) * e1t(ji,jj)*e2t(ji,jj)
104     $        *tmask(ji,jj,1)
105        END DO
106      END DO
107c----------------------------------------------------------
108c  Determine monthly mean (area weighted) ocean sea ice coverage
109c----------------------------------------------------------
110      xcicem = 0.0
111      DO mo=1,12
112        DO jj=1,jpj
113          DO ji=2,jpim1
114            xcicem(mo) = xcicem(mo) + cicemo(ji,jj,mo) * 
115     $          e1t(ji,jj)*e2t(ji,jj)*tmask(ji,jj,1)
116          END DO
117        END DO
118      END DO
119      WRITE (numout,*) 'annual mean sea ice coverage = ', xcice
120      WRITE (numout,*) 'mean monthly sea ice coverage = ',xcicem
121
122c
123#endif
124      RETURN
125      END
Note: See TracBrowser for help on using the repository browser.