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 @ 247

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

CL : Add CVS Header and CeCILL licence information

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