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/2016/dev_v3_6_STABLE_r6506_AGRIF_LIM3/NEMOGCM/NEMO/LIM_SRC_3 – NEMO

source: branches/2016/dev_v3_6_STABLE_r6506_AGRIF_LIM3/NEMOGCM/NEMO/LIM_SRC_3/limwri.F90 @ 6584

Last change on this file since 6584 was 6515, checked in by clem, 8 years ago

implement several developments for LIM3: new advection scheme (ultimate-macho, not yet perfect) ; lateral ice melt ; enabling/disabling thermo and dyn with namelist options ; simplifications (including a clarified namelist)

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