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.
limwri.F90 in branches/2014/dev_r4704_NOC5_MPP_BDY_UPDATE/NEMOGCM/NEMO/LIM_SRC_3 – NEMO

source: branches/2014/dev_r4704_NOC5_MPP_BDY_UPDATE/NEMOGCM/NEMO/LIM_SRC_3/limwri.F90 @ 6225

Last change on this file since 6225 was 6225, checked in by jamesharle, 8 years ago

Update MPP_BDY_UPDATE branch to be consistent with head of trunk

  • Property svn:keywords set to Id
File size: 20.3 KB
Line 
1MODULE limwri
2   !!======================================================================
3   !!                     ***  MODULE  limwri  ***
4   !!         Ice diagnostics :  write ice output files
5   !!======================================================================
6#if defined key_lim3
7   !!----------------------------------------------------------------------
8   !!   'key_lim3'                                      LIM3 sea-ice model
9   !!----------------------------------------------------------------------
10   !!   lim_wri      : write of the diagnostics variables in ouput file
11   !!   lim_wri_state : write for initial state or/and abandon
12   !!----------------------------------------------------------------------
13   USE ioipsl
14   USE dianam          ! build name of file (routine)
15   USE phycst
16   USE dom_oce
17   USE sbc_oce         ! Surface boundary condition: ocean fields
18   USE sbc_ice         ! Surface boundary condition: ice fields
19   USE dom_ice
20   USE ice
21   USE limvar
22   USE in_out_manager
23   USE lbclnk
24   USE lib_mpp         ! MPP library
25   USE wrk_nemo        ! work arrays
26   USE iom
27   USE timing          ! Timing
28   USE lib_fortran     ! Fortran utilities
29
30   IMPLICIT NONE
31   PRIVATE
32
33   PUBLIC lim_wri        ! routine called by lim_step.F90
34   PUBLIC lim_wri_state  ! called by dia_wri_state
35
36   !!----------------------------------------------------------------------
37   !! NEMO/LIM3 4.0 , UCL - NEMO Consortium (2011)
38   !! $Id$
39   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt)
40   !!----------------------------------------------------------------------
41CONTAINS
42
43
44   SUBROUTINE lim_wri( kindic )
45      !!-------------------------------------------------------------------
46      !!  This routine computes the average of some variables and write it
47      !!  on the ouput files.
48      !!  ATTENTION cette routine n'est valable que si le pas de temps est
49      !!  egale a une fraction entiere de 1 jours.
50      !!  Diff 1-D 3-D : suppress common also included in etat
51      !!                 suppress cmoymo 11-18
52      !!  modif : 03/06/98
53      !!-------------------------------------------------------------------
54      INTEGER, INTENT(in) ::   kindic   ! if kindic < 0 there has been an error somewhere
55      !
56      INTEGER  ::  ji, jj, jk, jl  ! dummy loop indices
57      REAL(wp) ::  z1_365
58      REAL(wp) ::  ztmp
59      REAL(wp), POINTER, DIMENSION(:,:,:) ::  zoi, zei, zt_i, zt_s
60      REAL(wp), POINTER, DIMENSION(:,:)   ::  z2d, z2da, z2db, zswi    ! 2D workspace
61      !!-------------------------------------------------------------------
62
63      IF( nn_timing == 1 )  CALL timing_start('limwri')
64
65      CALL wrk_alloc( jpi, jpj, jpl, zoi, zei, zt_i, zt_s )
66      CALL wrk_alloc( jpi, jpj     , z2d, z2da, z2db, zswi )
67
68      !-----------------------------
69      ! Mean category values
70      !-----------------------------
71      z1_365 = 1._wp / 365._wp
72
73      CALL lim_var_icetm      ! mean sea ice temperature
74
75      CALL lim_var_bv         ! brine volume
76
77      DO jj = 1, jpj          ! presence indicator of ice
78         DO ji = 1, jpi
79            zswi(ji,jj)  = MAX( 0._wp , SIGN( 1._wp , at_i(ji,jj) - epsi06 ) )
80         END DO
81      END DO
82      !
83      !
84      !                                             
85      IF ( iom_use( "icethic_cea" ) ) THEN                       ! mean ice thickness
86         DO jj = 1, jpj 
87            DO ji = 1, jpi
88               z2d(ji,jj)  = vt_i(ji,jj) / MAX( at_i(ji,jj), epsi06 ) * zswi(ji,jj)
89            END DO
90         END DO
91         CALL iom_put( "icethic_cea"  , z2d              )
92      ENDIF
93
94      IF ( iom_use( "snowthic_cea" ) ) THEN                      ! snow thickness = mean snow thickness over the cell
95         DO jj = 1, jpj                                           
96            DO ji = 1, jpi
97               z2d(ji,jj)  = vt_s(ji,jj) / MAX( at_i(ji,jj), epsi06 ) * zswi(ji,jj)
98            END DO
99         END DO
100         CALL iom_put( "snowthic_cea" , z2d              )       
101      ENDIF
102      !
103      IF ( iom_use( "uice_ipa" ) .OR. iom_use( "vice_ipa" ) .OR. iom_use( "icevel" ) ) THEN
104         DO jj = 2 , jpjm1
105            DO ji = 2 , jpim1
106               z2da(ji,jj)  = (  u_ice(ji,jj) * umask(ji,jj,1) + u_ice(ji-1,jj) * umask(ji-1,jj,1) ) * 0.5_wp
107               z2db(ji,jj)  = (  v_ice(ji,jj) * vmask(ji,jj,1) + v_ice(ji,jj-1) * vmask(ji,jj-1,1) ) * 0.5_wp
108           END DO
109         END DO
110         CALL lbc_lnk( z2da, 'T', -1. )
111         CALL lbc_lnk( z2db, 'T', -1. )
112         CALL iom_put( "uice_ipa"     , z2da             )       ! ice velocity u component
113         CALL iom_put( "vice_ipa"     , z2db             )       ! ice velocity v component
114         DO jj = 1, jpj                                 
115            DO ji = 1, jpi
116               z2d(ji,jj)  = SQRT( z2da(ji,jj) * z2da(ji,jj) + z2db(ji,jj) * z2db(ji,jj) ) 
117            END DO
118         END DO
119         CALL iom_put( "icevel"       , z2d              )       ! ice velocity module
120      ENDIF
121      !
122      IF ( iom_use( "miceage" ) ) THEN
123         z2d(:,:) = 0.e0
124         DO jl = 1, jpl
125            DO jj = 1, jpj
126               DO ji = 1, jpi
127                  rswitch    = MAX( 0._wp , SIGN( 1._wp , at_i(ji,jj) - 0.1 ) )
128                  z2d(ji,jj) = z2d(ji,jj) + rswitch * oa_i(ji,jj,jl) / MAX( at_i(ji,jj), 0.1 )
129               END DO
130            END DO
131         END DO
132         CALL iom_put( "miceage"     , z2d * z1_365      )        ! mean ice age
133      ENDIF
134
135      IF ( iom_use( "micet" ) ) THEN
136         DO jj = 1, jpj
137            DO ji = 1, jpi
138               z2d(ji,jj) = ( tm_i(ji,jj) - rt0 ) * zswi(ji,jj)
139            END DO
140         END DO
141         CALL iom_put( "micet"       , z2d               )        ! mean ice temperature
142      ENDIF
143      !
144      IF ( iom_use( "icest" ) ) THEN
145         z2d(:,:) = 0.e0
146         DO jl = 1, jpl
147            DO jj = 1, jpj
148               DO ji = 1, jpi
149                  z2d(ji,jj) = z2d(ji,jj) + zswi(ji,jj) * ( t_su(ji,jj,jl) - rt0 ) * a_i(ji,jj,jl) / MAX( at_i(ji,jj) , epsi06 )
150               END DO
151            END DO
152         END DO
153         CALL iom_put( "icest"       , z2d              )        ! ice surface temperature
154      ENDIF
155
156      IF ( iom_use( "icecolf" ) ) THEN
157         DO jj = 1, jpj
158            DO ji = 1, jpi
159               rswitch  = MAX( 0._wp , SIGN( 1._wp , at_i(ji,jj) ) )
160               z2d(ji,jj) = hicol(ji,jj) * rswitch
161            END DO
162         END DO
163         CALL iom_put( "icecolf"     , z2d              )        ! frazil ice collection thickness
164      ENDIF
165
166      CALL iom_put( "isst"        , sst_m               )        ! sea surface temperature
167      CALL iom_put( "isss"        , sss_m               )        ! sea surface salinity
168      CALL iom_put( "iceconc"     , at_i                )        ! ice concentration
169      CALL iom_put( "icevolu"     , vt_i                )        ! ice volume = mean ice thickness over the cell
170      CALL iom_put( "icehc"       , et_i                )        ! ice total heat content
171      CALL iom_put( "isnowhc"     , et_s                )        ! snow total heat content
172      CALL iom_put( "ibrinv"      , bv_i * 100._wp      )        ! brine volume
173      CALL iom_put( "utau_ice"    , utau_ice            )        ! wind stress over ice along i-axis at I-point
174      CALL iom_put( "vtau_ice"    , vtau_ice            )        ! wind stress over ice along j-axis at I-point
175      CALL iom_put( "snowpre"     , sprecip * 86400.    )        ! snow precipitation
176      CALL iom_put( "micesalt"    , smt_i               )        ! mean ice salinity
177
178      CALL iom_put( "icestr"      , strength * 0.001    )        ! ice strength
179      CALL iom_put( "idive"       , divu_i * 1.0e8      )        ! divergence
180      CALL iom_put( "ishear"      , shear_i * 1.0e8     )        ! shear
181      CALL iom_put( "snowvol"     , vt_s                )        ! snow volume
182     
183      CALL iom_put( "icetrp"      , diag_trp_vi * rday  )        ! ice volume transport
184      CALL iom_put( "snwtrp"      , diag_trp_vs * rday  )        ! snw volume transport
185      CALL iom_put( "saltrp"      , diag_trp_smv * rday * rhoic ) ! salt content transport
186      CALL iom_put( "deitrp"      , diag_trp_ei         )        ! advected ice enthalpy (W/m2)
187      CALL iom_put( "destrp"      , diag_trp_es         )        ! advected snw enthalpy (W/m2)
188
189      CALL iom_put( "sfxbog"      , sfx_bog * rday      )        ! salt flux from brines
190      CALL iom_put( "sfxbom"      , sfx_bom * rday      )        ! salt flux from brines
191      CALL iom_put( "sfxsum"      , sfx_sum * rday      )        ! salt flux from brines
192      CALL iom_put( "sfxsni"      , sfx_sni * rday      )        ! salt flux from brines
193      CALL iom_put( "sfxopw"      , sfx_opw * rday      )        ! salt flux from brines
194      CALL iom_put( "sfxdyn"      , sfx_dyn * rday      )        ! salt flux from ridging rafting
195      CALL iom_put( "sfxres"      , sfx_res * rday      )        ! salt flux from limupdate (resultant)
196      CALL iom_put( "sfxbri"      , sfx_bri * rday      )        ! salt flux from brines
197      CALL iom_put( "sfx"         , sfx     * rday      )        ! total salt flux
198
199      ztmp = rday / rhoic
200      CALL iom_put( "vfxres"     , wfx_res * ztmp       )        ! daily prod./melting due to limupdate
201      CALL iom_put( "vfxopw"     , wfx_opw * ztmp       )        ! daily lateral thermodynamic ice production
202      CALL iom_put( "vfxsni"     , wfx_sni * ztmp       )        ! daily snowice ice production
203      CALL iom_put( "vfxbog"     , wfx_bog * ztmp       )        ! daily bottom thermodynamic ice production
204      CALL iom_put( "vfxdyn"     , wfx_dyn * ztmp       )        ! daily dynamic ice production (rid/raft)
205      CALL iom_put( "vfxsum"     , wfx_sum * ztmp       )        ! surface melt
206      CALL iom_put( "vfxbom"     , wfx_bom * ztmp       )        ! bottom melt
207      CALL iom_put( "vfxice"     , wfx_ice * ztmp       )        ! total ice growth/melt
208      CALL iom_put( "vfxsnw"     , wfx_snw * ztmp       )        ! total snw growth/melt
209      CALL iom_put( "vfxsub"     , wfx_sub * ztmp       )        ! sublimation (snow)
210      CALL iom_put( "vfxspr"     , wfx_spr * ztmp       )        ! precip (snow)
211     
212      CALL iom_put( "afxtot"     , afx_tot * rday       )        ! concentration tendency (total)
213      CALL iom_put( "afxdyn"     , afx_dyn * rday       )        ! concentration tendency (dynamics)
214      CALL iom_put( "afxthd"     , afx_thd * rday       )        ! concentration tendency (thermo)
215
216      CALL iom_put ('hfxthd'     , hfx_thd(:,:)         )   
217      CALL iom_put ('hfxdyn'     , hfx_dyn(:,:)         )   
218      CALL iom_put ('hfxres'     , hfx_res(:,:)         )   
219      CALL iom_put ('hfxout'     , hfx_out(:,:)         )   
220      CALL iom_put ('hfxin'      , hfx_in(:,:)          )   
221      CALL iom_put ('hfxsnw'     , hfx_snw(:,:)         )   
222      CALL iom_put ('hfxsub'     , hfx_sub(:,:)         )   
223      CALL iom_put ('hfxerr'     , hfx_err(:,:)         )   
224      CALL iom_put ('hfxerr_rem' , hfx_err_rem(:,:)     )   
225     
226      CALL iom_put ('hfxsum'     , hfx_sum(:,:)         )   
227      CALL iom_put ('hfxbom'     , hfx_bom(:,:)         )   
228      CALL iom_put ('hfxbog'     , hfx_bog(:,:)         )   
229      CALL iom_put ('hfxdif'     , hfx_dif(:,:)         )   
230      CALL iom_put ('hfxopw'     , hfx_opw(:,:)         )   
231      CALL iom_put ('hfxtur'     , fhtur(:,:) * SUM(a_i_b(:,:,:), dim=3) ) ! turbulent heat flux at ice base
232      CALL iom_put ('hfxdhc'     , diag_heat(:,:)       )   ! Heat content variation in snow and ice
233      CALL iom_put ('hfxspr'     , hfx_spr(:,:)         )   ! Heat content of snow precip
234     
235      !--------------------------------
236      ! Output values for each category
237      !--------------------------------
238      CALL iom_put( "iceconc_cat"      , a_i         )        ! area for categories
239      CALL iom_put( "icethic_cat"      , ht_i        )        ! thickness for categories
240      CALL iom_put( "snowthic_cat"     , ht_s        )        ! snow depth for categories
241      CALL iom_put( "salinity_cat"     , sm_i        )        ! salinity for categories
242
243      ! ice temperature
244      IF ( iom_use( "icetemp_cat" ) ) THEN
245         zt_i(:,:,:) = SUM( t_i(:,:,:,:), dim=3 ) * r1_nlay_i
246         CALL iom_put( "icetemp_cat"   , zt_i - rt0  )
247      ENDIF
248     
249      ! snow temperature
250      IF ( iom_use( "snwtemp_cat" ) ) THEN
251         zt_s(:,:,:) = SUM( t_s(:,:,:,:), dim=3 ) * r1_nlay_s
252         CALL iom_put( "snwtemp_cat"   , zt_s - rt0  )
253      ENDIF
254
255      ! Compute ice age
256      IF ( iom_use( "iceage_cat" ) ) THEN
257         DO jl = 1, jpl 
258            DO jj = 1, jpj
259               DO ji = 1, jpi
260                  rswitch = MAX( 0._wp , SIGN( 1._wp , at_i(ji,jj) - 0.1 ) )
261                  rswitch = rswitch * MAX( 0._wp , SIGN( 1._wp , a_i(ji,jj,jl) - 0.1 ) )
262                  zoi(ji,jj,jl) = oa_i(ji,jj,jl)  / MAX( a_i(ji,jj,jl) , 0.1 ) * rswitch
263               END DO
264            END DO
265         END DO
266         CALL iom_put( "iceage_cat"   , zoi * z1_365 )        ! ice age for categories
267      ENDIF
268
269      ! Compute brine volume
270      IF ( iom_use( "brinevol_cat" ) ) THEN
271         zei(:,:,:) = 0._wp
272         DO jl = 1, jpl 
273            DO jk = 1, nlay_i
274               DO jj = 1, jpj
275                  DO ji = 1, jpi
276                     rswitch = MAX( 0._wp , SIGN( 1._wp , a_i(ji,jj,jl) - epsi06 ) )
277                     zei(ji,jj,jl) = zei(ji,jj,jl) + 100.0 *  &
278                        ( - tmut * s_i(ji,jj,jk,jl) / MIN( ( t_i(ji,jj,jk,jl) - rt0 ), - epsi06 ) ) * &
279                        rswitch * r1_nlay_i
280                  END DO
281               END DO
282            END DO
283         END DO
284         CALL iom_put( "brinevol_cat"     , zei      )        ! brine volume for categories
285      ENDIF
286
287      !     !  Create an output files (output.lim.abort.nc) if S < 0 or u > 20 m/s
288      !     IF( kindic < 0 )   CALL lim_wri_state( 'output.abort' )
289      !     not yet implemented
290     
291      CALL wrk_dealloc( jpi, jpj, jpl, zoi, zei, zt_i, zt_s )
292      CALL wrk_dealloc( jpi, jpj     , z2d, zswi, z2da, z2db )
293
294      IF( nn_timing == 1 )  CALL timing_stop('limwri')
295     
296   END SUBROUTINE lim_wri
297
298 
299   SUBROUTINE lim_wri_state( kt, kid, kh_i )
300      !!---------------------------------------------------------------------
301      !!                 ***  ROUTINE lim_wri_state  ***
302      !!       
303      !! ** Purpose :   create a NetCDF file named cdfile_name which contains
304      !!      the instantaneous ice state and forcing fields for ice model
305      !!        Used to find errors in the initial state or save the last
306      !!      ocean state in case of abnormal end of a simulation
307      !!
308      !! History :
309      !!   4.1  !  2013-06  (C. Rousset)
310      !!----------------------------------------------------------------------
311      INTEGER, INTENT( in ) ::   kt               ! ocean time-step index)
312      INTEGER, INTENT( in ) ::   kid , kh_i       
313      !!----------------------------------------------------------------------
314
315      CALL histdef( kid, "iicethic", "Ice thickness"           , "m"      ,   &
316      &      jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt )
317      CALL histdef( kid, "iiceconc", "Ice concentration"       , "%"      ,   &
318      &      jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt )
319      CALL histdef( kid, "iicetemp", "Ice temperature"         , "C"      ,   &
320      &      jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt )
321      CALL histdef( kid, "iicevelu", "i-Ice speed (I-point)"   , "m/s"    ,   &
322      &      jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt )
323      CALL histdef( kid, "iicevelv", "j-Ice speed (I-point)"   , "m/s"    ,   &
324      &      jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
325      CALL histdef( kid, "iicestru", "i-Wind stress over ice (I-pt)", "Pa",   &
326      &      jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt )
327      CALL histdef( kid, "iicestrv", "j-Wind stress over ice (I-pt)", "Pa",   &
328      &      jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
329      CALL histdef( kid, "iicesflx", "Solar flux over ocean"     , "w/m2" ,   &
330      &      jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
331      CALL histdef( kid, "iicenflx", "Non-solar flux over ocean" , "w/m2" ,   &
332      &      jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt )
333      CALL histdef( kid, "isnowpre", "Snow precipitation"      , "kg/m2/s",   &
334      &      jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
335      CALL histdef( kid, "iicesali", "Ice salinity"            , "PSU"    ,   &
336      &      jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
337      CALL histdef( kid, "iicevolu", "Ice volume"              , "m"      ,   &
338      &      jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
339      CALL histdef( kid, "iicedive", "Ice divergence"          , "10-8s-1",   &
340      &      jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
341      CALL histdef( kid, "iicebopr", "Ice bottom production"   , "m/s"    ,   &
342      &      jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt )
343      CALL histdef( kid, "iicedypr", "Ice dynamic production"  , "m/s"    ,   &
344      &      jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt )
345      CALL histdef( kid, "iicelapr", "Ice open water prod"     , "m/s"    ,   &
346      &       jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt )
347      CALL histdef( kid, "iicesipr", "Snow ice production "    , "m/s"    ,   &
348      &      jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt )
349      CALL histdef( kid, "iicerepr", "Ice prod from limupdate" , "m/s"    ,   &
350      &      jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt )
351      CALL histdef( kid, "iicebome", "Ice bottom melt"         , "m/s"    ,   &
352      &      jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt )
353      CALL histdef( kid, "iicesume", "Ice surface melt"        , "m/s"    ,   &
354      &      jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt )
355      CALL histdef( kid, "iisfxdyn", "Salt flux from dynmics"  , ""       ,   &
356      &      jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt )
357      CALL histdef( kid, "iisfxres", "Salt flux from limupdate", ""       ,   &
358      &      jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt )
359
360      CALL histend( kid, snc4set )   ! end of the file definition
361
362      CALL histwrite( kid, "iicethic", kt, icethi        , jpi*jpj, (/1/) )   
363      CALL histwrite( kid, "iiceconc", kt, at_i          , jpi*jpj, (/1/) )
364      CALL histwrite( kid, "iicetemp", kt, tm_i - rt0    , jpi*jpj, (/1/) )
365      CALL histwrite( kid, "iicevelu", kt, u_ice          , jpi*jpj, (/1/) )
366      CALL histwrite( kid, "iicevelv", kt, v_ice          , jpi*jpj, (/1/) )
367      CALL histwrite( kid, "iicestru", kt, utau_ice       , jpi*jpj, (/1/) )
368      CALL histwrite( kid, "iicestrv", kt, vtau_ice       , jpi*jpj, (/1/) )
369      CALL histwrite( kid, "iicesflx", kt, qsr , jpi*jpj, (/1/) )
370      CALL histwrite( kid, "iicenflx", kt, qns , jpi*jpj, (/1/) )
371      CALL histwrite( kid, "isnowpre", kt, sprecip        , jpi*jpj, (/1/) )
372      CALL histwrite( kid, "iicesali", kt, smt_i          , jpi*jpj, (/1/) )
373      CALL histwrite( kid, "iicevolu", kt, vt_i           , jpi*jpj, (/1/) )
374      CALL histwrite( kid, "iicedive", kt, divu_i*1.0e8   , jpi*jpj, (/1/) )
375
376      CALL histwrite( kid, "iicebopr", kt, wfx_bog        , jpi*jpj, (/1/) )
377      CALL histwrite( kid, "iicedypr", kt, wfx_dyn        , jpi*jpj, (/1/) )
378      CALL histwrite( kid, "iicelapr", kt, wfx_opw        , jpi*jpj, (/1/) )
379      CALL histwrite( kid, "iicesipr", kt, wfx_sni        , jpi*jpj, (/1/) )
380      CALL histwrite( kid, "iicerepr", kt, wfx_res        , jpi*jpj, (/1/) )
381      CALL histwrite( kid, "iicebome", kt, wfx_bom        , jpi*jpj, (/1/) )
382      CALL histwrite( kid, "iicesume", kt, wfx_sum        , jpi*jpj, (/1/) )
383      CALL histwrite( kid, "iisfxdyn", kt, sfx_dyn        , jpi*jpj, (/1/) )
384      CALL histwrite( kid, "iisfxres", kt, sfx_res        , jpi*jpj, (/1/) )
385
386      ! Close the file
387      ! -----------------
388      !CALL histclo( kid )
389
390    END SUBROUTINE lim_wri_state
391
392#else
393   !!----------------------------------------------------------------------
394   !!   Default option :         Empty module          NO LIM sea-ice model
395   !!----------------------------------------------------------------------
396CONTAINS
397   SUBROUTINE lim_wri          ! Empty routine
398   END SUBROUTINE lim_wri
399#endif
400
401   !!======================================================================
402END MODULE limwri
Note: See TracBrowser for help on using the repository browser.