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/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/LIM_SRC_3 – NEMO

source: branches/2015/dev_CMCC_merge_2015/NEMOGCM/NEMO/LIM_SRC_3/limwri.F90 @ 6051

Last change on this file since 6051 was 6051, checked in by lovato, 8 years ago

Merge branches/2015/dev_r5056_CMCC4_simplification (see ticket #1456)

  • Property svn:keywords set to Id
File size: 20.3 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
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      !!-------------------------------------------------------------------
[2715]54      INTEGER, INTENT(in) ::   kindic   ! if kindic < 0 there has been an error somewhere
55      !
[4990]56      INTEGER  ::  ji, jj, jk, jl  ! dummy loop indices
57      REAL(wp) ::  z1_365
58      REAL(wp) ::  ztmp
[5517]59      REAL(wp), POINTER, DIMENSION(:,:,:) ::  zoi, zei, zt_i, zt_s
[4990]60      REAL(wp), POINTER, DIMENSION(:,:)   ::  z2d, z2da, z2db, zswi    ! 2D workspace
[2715]61      !!-------------------------------------------------------------------
[825]62
[4161]63      IF( nn_timing == 1 )  CALL timing_start('limwri')
64
[5517]65      CALL wrk_alloc( jpi, jpj, jpl, zoi, zei, zt_i, zt_s )
[4990]66      CALL wrk_alloc( jpi, jpj     , z2d, z2da, z2db, zswi )
[2777]67
[4688]68      !-----------------------------
69      ! Mean category values
70      !-----------------------------
[5202]71      z1_365 = 1._wp / 365._wp
[825]72
[4688]73      CALL lim_var_icetm      ! mean sea ice temperature
[921]74
[4688]75      CALL lim_var_bv         ! brine volume
[825]76
[4688]77      DO jj = 1, jpj          ! presence indicator of ice
78         DO ji = 1, jpi
[4990]79            zswi(ji,jj)  = MAX( 0._wp , SIGN( 1._wp , at_i(ji,jj) - epsi06 ) )
[4688]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
[4990]88               z2d(ji,jj)  = vt_i(ji,jj) / MAX( at_i(ji,jj), epsi06 ) * zswi(ji,jj)
[4688]89            END DO
90         END DO
91         CALL iom_put( "icethic_cea"  , z2d              )
92      ENDIF
[921]93
[4688]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
[4990]97               z2d(ji,jj)  = vt_s(ji,jj) / MAX( at_i(ji,jj), epsi06 ) * zswi(ji,jj)
[4688]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
[5123]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
[4688]108           END DO
109         END DO
110         CALL lbc_lnk( z2da, 'T', -1. )
111         CALL lbc_lnk( z2db, 'T', -1. )
[5202]112         CALL iom_put( "uice_ipa"     , z2da             )       ! ice velocity u component
113         CALL iom_put( "vice_ipa"     , z2db             )       ! ice velocity v component
[4688]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
[5202]119         CALL iom_put( "icevel"       , z2d              )       ! ice velocity module
[4688]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
[5202]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 )
[4688]129               END DO
130            END DO
131         END DO
[5202]132         CALL iom_put( "miceage"     , z2d * z1_365      )        ! mean ice age
[4688]133      ENDIF
[825]134
[4688]135      IF ( iom_use( "micet" ) ) THEN
136         DO jj = 1, jpj
137            DO ji = 1, jpi
[5123]138               z2d(ji,jj) = ( tm_i(ji,jj) - rt0 ) * zswi(ji,jj)
[4688]139            END DO
140         END DO
[5202]141         CALL iom_put( "micet"       , z2d               )        ! mean ice temperature
[4688]142      ENDIF
143      !
144      IF ( iom_use( "icest" ) ) THEN
145         z2d(:,:) = 0.e0
[825]146         DO jl = 1, jpl
[4688]147            DO jj = 1, jpj
148               DO ji = 1, jpi
[5123]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 )
[4688]150               END DO
151            END DO
[825]152         END DO
[5202]153         CALL iom_put( "icest"       , z2d              )        ! ice surface temperature
[825]154      ENDIF
155
[4688]156      IF ( iom_use( "icecolf" ) ) THEN
[825]157         DO jj = 1, jpj
158            DO ji = 1, jpi
[4990]159               rswitch  = MAX( 0._wp , SIGN( 1._wp , at_i(ji,jj) ) )
160               z2d(ji,jj) = hicol(ji,jj) * rswitch
[825]161            END DO
162         END DO
[5202]163         CALL iom_put( "icecolf"     , z2d              )        ! frazil ice collection thickness
[4688]164      ENDIF
[825]165
[4688]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
[5407]175      CALL iom_put( "snowpre"     , sprecip * 86400.    )        ! snow precipitation
[4688]176      CALL iom_put( "micesalt"    , smt_i               )        ! mean ice salinity
[4161]177
[4688]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
[5123]185      CALL iom_put( "saltrp"      , diag_trp_smv * rday * rhoic ) ! salt content transport
[4688]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)
[921]188
[4688]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
[825]198
[4990]199      ztmp = rday / rhoic
[5123]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)
[825]215
[5123]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(:,:)     )   
[4688]225     
[5123]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(:,:)         )   
[5407]231      CALL iom_put ('hfxtur'     , fhtur(:,:) * SUM(a_i_b(:,:,:), dim=3) ) ! turbulent heat flux at ice base
[5167]232      CALL iom_put ('hfxdhc'     , diag_heat(:,:)       )   ! Heat content variation in snow and ice
[5123]233      CALL iom_put ('hfxspr'     , hfx_spr(:,:)         )   ! Heat content of snow precip
[4688]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
[825]242
[5517]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
[4688]255      ! Compute ice age
256      IF ( iom_use( "iceage_cat" ) ) THEN
[921]257         DO jl = 1, jpl 
[825]258            DO jj = 1, jpj
259               DO ji = 1, jpi
[5202]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
[825]263               END DO
264            END DO
265         END DO
[5202]266         CALL iom_put( "iceage_cat"   , zoi * z1_365 )        ! ice age for categories
[4688]267      ENDIF
[825]268
[4688]269      ! Compute brine volume
270      IF ( iom_use( "brinevol_cat" ) ) THEN
[2715]271         zei(:,:,:) = 0._wp
[921]272         DO jl = 1, jpl 
273            DO jk = 1, nlay_i
274               DO jj = 1, jpj
275                  DO ji = 1, jpi
[4990]276                     rswitch = MAX( 0._wp , SIGN( 1._wp , a_i(ji,jj,jl) - epsi06 ) )
[5202]277                     zei(ji,jj,jl) = zei(ji,jj,jl) + 100.0 *  &
[5123]278                        ( - tmut * s_i(ji,jj,jk,jl) / MIN( ( t_i(ji,jj,jk,jl) - rt0 ), - epsi06 ) ) * &
279                        rswitch * r1_nlay_i
[921]280                  END DO
281               END DO
282            END DO
283         END DO
[5202]284         CALL iom_put( "brinevol_cat"     , zei      )        ! brine volume for categories
[825]285      ENDIF
286
[4688]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     
[5517]291      CALL wrk_dealloc( jpi, jpj, jpl, zoi, zei, zt_i, zt_s )
[4990]292      CALL wrk_dealloc( jpi, jpj     , z2d, zswi, z2da, z2db )
[4161]293
294      IF( nn_timing == 1 )  CALL timing_stop('limwri')
[2777]295     
[825]296   END SUBROUTINE lim_wri
297
[4161]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      !!----------------------------------------------------------------------
[825]314
[4765]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 )
[4161]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/) )
[5123]364      CALL histwrite( kid, "iicetemp", kt, tm_i - rt0    , jpi*jpj, (/1/) )
[4161]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
[4688]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/) )
[4333]384      CALL histwrite( kid, "iisfxres", kt, sfx_res        , jpi*jpj, (/1/) )
385
[4688]386      ! Close the file
387      ! -----------------
388      !CALL histclo( kid )
[4161]389
390    END SUBROUTINE lim_wri_state
391
[825]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.