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/2013/dev_r4028_CNRS_LIM3/NEMOGCM/NEMO/LIM_SRC_3 – NEMO

source: branches/2013/dev_r4028_CNRS_LIM3/NEMOGCM/NEMO/LIM_SRC_3/limwri.F90 @ 4635

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