Changeset 4626


Ignore:
Timestamp:
2014-05-02T12:11:34+02:00 (6 years ago)
Author:
gm
Message:

dev_r4028_CNRS_LIM3_MV2014 : minor corrections on LIM3

Location:
branches/dev_r4028_CNRS_LIM3_MV2014/NEMOGCM/NEMO/LIM_SRC_3
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/dev_r4028_CNRS_LIM3_MV2014/NEMOGCM/NEMO/LIM_SRC_3/limdiahsb.F90

    r4345 r4626  
    3434   !!PUBLIC   lim_diahsb_rst   ! routine called by ice_init.F90 
    3535 
    36    REAL(dp) ::   frc_sal, frc_vol   ! global forcing trends 
    37    REAL(dp) ::   bg_grme            ! global ice growth+melt trends 
     36   REAL(wp) ::   frc_sal, frc_vol   ! global forcing trends 
     37   REAL(wp) ::   bg_grme            ! global ice growth+melt trends 
    3838   REAL(wp) ::   epsi06 = 1.e-6_wp  ! small number 
    3939   REAL(wp) ::   epsi03 = 1.e-3_wp  ! small number 
     
    4444 
    4545   !!---------------------------------------------------------------------- 
    46    !! NEMO/OPA 3.4 , NEMO Consortium (2012) 
     46   !! NEMO/OPA 3.6 , NEMO Consortium (2014) 
    4747   !! $Id: limdiahsb.F90 3294 2012-10-18 16:44:18Z rblod $ 
    4848   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt) 
    4949   !!---------------------------------------------------------------------- 
    50  
    5150CONTAINS 
    5251 
     
    5857      !!  
    5958      !!--------------------------------------------------------------------------- 
    60       !! 
    61       REAL(dp)   ::   zbg_ivo, zbg_svo, zbg_are, zbg_sal ,zbg_tem ,zbg_ihc ,zbg_shc 
    62       REAL(dp)   ::   zbg_sfx, zbg_sfx_bri, zbg_sfx_thd, zbg_sfx_res, zbg_sfx_mec  
    63       REAL(dp)   ::   zbg_emp, zbg_emp_bog, zbg_emp_lag, zbg_emp_sig, zbg_emp_dyg, zbg_emp_bom, zbg_emp_sum, zbg_emp_res  
    64       REAL(dp)   ::   z_frc_vol, z_frc_sal, z_bg_grme  
    65       REAL(dp)   ::   z1_area                     !    -     - 
    66       REAL(dp)   ::   zinda, zindb 
     59      REAL(wp)   ::   zbg_ivo, zbg_svo, zbg_are, zbg_sal ,zbg_tem ,zbg_ihc ,zbg_shc 
     60      REAL(wp)   ::   zbg_sfx, zbg_sfx_bri, zbg_sfx_thd, zbg_sfx_res, zbg_sfx_mec  
     61      REAL(wp)   ::   zbg_emp, zbg_emp_bog, zbg_emp_lag, zbg_emp_sig, zbg_emp_dyg, zbg_emp_bom, zbg_emp_sum, zbg_emp_res  
     62      REAL(wp)   ::   z_frc_vol, z_frc_sal, z_bg_grme  
     63      REAL(wp)   ::   z1_area, zcoef                     
     64      REAL(wp)   ::   zinda, zindb 
    6765      !!--------------------------------------------------------------------------- 
    6866      IF( nn_timing == 1 )   CALL timing_start('lim_diahsb') 
     
    7068      IF( numit == nstart ) CALL lim_diahsb_init  
    7169 
    72       ! 1/area 
    73       z1_area = 1.d0 / MAX( glob_sum( area(:,:) * tms(:,:) ), epsi06 ) 
    74  
    75       zinda = MAX( 0.d0 , SIGN( 1.d0 , glob_sum( area(:,:) * tms(:,:) ) - epsi06 ) ) 
     70      z1_area = 1._wp / MAX( glob_sum( area(:,:) * tms(:,:) ), epsi06 ) 
     71 
     72      zinda = MAX( 0._wp , SIGN( 1._wp , glob_sum( area(:,:) * tms(:,:) ) - epsi06 ) ) 
    7673      ! ----------------------- ! 
    7774      ! 1 -  Content variations ! 
     
    8077      zbg_svo = glob_sum( vt_s(:,:) * area(:,:) * tms(:,:) ) ! volume snow 
    8178      zbg_are = glob_sum( at_i(:,:) * area(:,:) * tms(:,:) ) ! area 
    82       zbg_sal = glob_sum( SUM( smv_i(:,:,:), dim=3 ) * area(:,:) * tms(:,:) )       ! mean salt content 
     79      zbg_sal = glob_sum( SUM( smv_i(:,:,:), dim=3 )      * area(:,:) * tms(:,:) )  ! mean salt content 
    8380      zbg_tem = glob_sum( ( tm_i(:,:) - rtt ) * vt_i(:,:) * area(:,:) * tms(:,:) )  ! mean temp content 
    8481 
     
    8986      zbg_shc = glob_sum( et_s(:,:) * 1.e-11 ) ! snow heat content [10^9*1.e-11 J] 
    9087 
    91       zbg_emp     = zinda * glob_sum(         emp(:,:) * area(:,:) * tms(:,:) ) * z1_area         * r1_rau0 * rday 
    92       zbg_emp_bog = zinda * glob_sum( diag_bot_gr(:,:) * area(:,:) * tms(:,:) ) * z1_area * rhoic * r1_rau0 * rday 
    93       zbg_emp_lag = zinda * glob_sum( diag_lat_gr(:,:) * area(:,:) * tms(:,:) ) * z1_area * rhoic * r1_rau0 * rday 
    94       zbg_emp_sig = zinda * glob_sum( diag_sni_gr(:,:) * area(:,:) * tms(:,:) ) * z1_area * rhoic * r1_rau0 * rday 
    95       zbg_emp_dyg = zinda * glob_sum( diag_dyn_gr(:,:) * area(:,:) * tms(:,:) ) * z1_area * rhoic * r1_rau0 * rday 
    96       zbg_emp_bom = zinda * glob_sum( diag_bot_me(:,:) * area(:,:) * tms(:,:) ) * z1_area * rhoic * r1_rau0 * rday 
    97       zbg_emp_sum = zinda * glob_sum( diag_sur_me(:,:) * area(:,:) * tms(:,:) ) * z1_area * rhoic * r1_rau0 * rday 
    98       zbg_emp_res = zinda * glob_sum( diag_res_pr(:,:) * area(:,:) * tms(:,:) ) * z1_area * rhoic * r1_rau0 * rday 
    99  
    100       zbg_sfx     = zinda * glob_sum(     sfx(:,:) * area(:,:) * tms(:,:) ) * z1_area * r1_rau0 * rday 
    101       zbg_sfx_bri = zinda * glob_sum( sfx_bri(:,:) * area(:,:) * tms(:,:) ) * z1_area * r1_rau0 * rday 
    102       zbg_sfx_thd = zinda * glob_sum( sfx_thd(:,:) * area(:,:) * tms(:,:) ) * z1_area * r1_rau0 * rday 
    103       zbg_sfx_res = zinda * glob_sum( sfx_res(:,:) * area(:,:) * tms(:,:) ) * z1_area * r1_rau0 * rday 
    104       zbg_sfx_mec = zinda * glob_sum( sfx_mec(:,:) * area(:,:) * tms(:,:) ) * z1_area * r1_rau0 * rday 
     88      zcoef = zinda * z1_area * r1_rau0 * rday 
     89      zbg_emp     =  glob_sum(         emp(:,:) * area(:,:) * tms(:,:) ) * zcoef 
     90       
     91      zcoef = zinda * z1_area * rhoic * r1_rau0 * rday 
     92      zbg_emp_bog = glob_sum( diag_bot_gr(:,:) * area(:,:) * tms(:,:) ) * zcoef 
     93      zbg_emp_lag = glob_sum( diag_lat_gr(:,:) * area(:,:) * tms(:,:) ) * zcoef 
     94      zbg_emp_sig = glob_sum( diag_sni_gr(:,:) * area(:,:) * tms(:,:) ) * zcoef 
     95      zbg_emp_dyg = glob_sum( diag_dyn_gr(:,:) * area(:,:) * tms(:,:) ) * zcoef 
     96      zbg_emp_bom = glob_sum( diag_bot_me(:,:) * area(:,:) * tms(:,:) ) * zcoef 
     97      zbg_emp_sum = glob_sum( diag_sur_me(:,:) * area(:,:) * tms(:,:) ) * zcoef 
     98      zbg_emp_res = glob_sum( diag_res_pr(:,:) * area(:,:) * tms(:,:) ) * zcoef 
     99 
     100      zcoef = zinda * z1_area * r1_rau0 * rday 
     101      zbg_sfx     = glob_sum(     sfx(:,:) * area(:,:) * tms(:,:) ) * zcoef 
     102      zbg_sfx_bri = glob_sum( sfx_bri(:,:) * area(:,:) * tms(:,:) ) * zcoef 
     103      zbg_sfx_thd = glob_sum( sfx_thd(:,:) * area(:,:) * tms(:,:) ) * zcoef 
     104      zbg_sfx_res = glob_sum( sfx_res(:,:) * area(:,:) * tms(:,:) ) * zcoef 
     105      zbg_sfx_mec = glob_sum( sfx_mec(:,:) * area(:,:) * tms(:,:) ) * zcoef 
    105106       
    106107      ! --------------------------------------------- ! 
     
    109110      z_frc_vol = r1_rau0 * glob_sum( - emp(:,:) * area(:,:) * tms(:,:) ) ! volume fluxes 
    110111      z_frc_sal = r1_rau0 * glob_sum(   sfx(:,:) * area(:,:) * tms(:,:) ) ! salt fluxes 
    111       z_bg_grme = glob_sum( ( diag_bot_gr(:,:) + diag_lat_gr(:,:) + diag_sni_gr(:,:) + diag_dyn_gr(:,:) + & 
    112                           &    diag_bot_me(:,:) + diag_sur_me(:,:) + diag_res_pr(:,:) ) * area(:,:) * tms(:,:) ) ! volume fluxes 
    113       ! 
    114       frc_vol  = frc_vol  + z_frc_vol  * rdt_ice 
    115       frc_sal  = frc_sal  + z_frc_sal  * rdt_ice 
    116       bg_grme  = bg_grme  + z_bg_grme  * rdt_ice 
     112      z_bg_grme = glob_sum(  (  diag_bot_gr(:,:) + diag_lat_gr(:,:) + diag_sni_gr(:,:) + diag_dyn_gr(:,:)     & 
     113         &                    + diag_bot_me(:,:) + diag_sur_me(:,:) + diag_res_pr(:,:)                    )   & 
     114         &                 * area(:,:) * tms(:,:) ) ! volume fluxes 
     115      ! 
     116      frc_vol  = frc_vol + z_frc_vol * rdt_ice 
     117      frc_sal  = frc_sal + z_frc_sal * rdt_ice 
     118      bg_grme  = bg_grme + z_bg_grme * rdt_ice 
    117119       
    118120      ! difference 
     
    123125      ! 3 - Diagnostics writing ! 
    124126      ! ----------------------- ! 
    125       zindb = MAX( 0.d0 , SIGN( 1.d0 , zbg_ivo - epsi06 ) ) 
     127      zindb = MAX( 0.d0 , SIGN( 1._wp , zbg_ivo - epsi06 ) ) 
    126128      ! 
    127129      CALL iom_put( 'ibgvoltot' , zbg_ivo * rhoic * r1_rau0 * 1.e-9        )   ! ice volume (km3 equivalent liquid)          
     
    156158      ! 
    157159      IF( nn_timing == 1 )   CALL timing_stop('lim_diahsb') 
    158 ! 
     160      ! 
    159161   END SUBROUTINE lim_diahsb 
    160162 
     
    190192      ! 2 - initial conservation variables ! 
    191193      ! ---------------------------------- ! 
    192       !frc_vol = 0.d0                                           ! volume       trend due to forcing 
    193       !frc_sal = 0.d0                                           ! salt content   -    -   -    -          
    194       !bg_grme = 0.d0                                           ! ice growth + melt volume trend 
    195       ! 
    196194      CALL lim_diahsb_rst( nstart, 'READ' )  !* read or initialize all required files 
    197195      ! 
    198196   END SUBROUTINE lim_diahsb_init 
     197 
    199198 
    200199   SUBROUTINE lim_diahsb_rst( kt, cdrw ) 
     
    226225           IF(lwp) WRITE(numout,*) ' lim_diahsb at initial state ' 
    227226           IF(lwp) WRITE(numout,*) '~~~~~~~' 
    228            frc_vol  = 0.d0                                            
    229            frc_sal  = 0.d0                                                   
    230            bg_grme  = 0.d0                                         
     227           frc_vol  = 0._wp                                            
     228           frc_sal  = 0._wp                                                   
     229           bg_grme  = 0._wp                                         
    231230       ENDIF    
    232231 
  • branches/dev_r4028_CNRS_LIM3_MV2014/NEMOGCM/NEMO/LIM_SRC_3/limthd_dif.F90

    r4332 r4626  
    145145      REAL(wp), DIMENSION(kiut,jkmax+2) ::   zdiagbis 
    146146      REAL(wp), DIMENSION(kiut,jkmax+2,3) ::   ztrid   ! tridiagonal system terms 
     147      REAL(wp) ::   ztemp   ! local scalar  
    147148      !!------------------------------------------------------------------      
    148149      !  
     
    328329            DO layer = 1, nlay_i-1 
    329330               DO ji = kideb , kiut 
    330                   ztcond_i(ji,layer) = rcdic + 0.090_wp * ( s_i_b(ji,layer) + s_i_b(ji,layer+1) )   & 
    331                      &                                  / MIN(-2.0_wp * epsi10, t_i_b(ji,layer)+t_i_b(ji,layer+1) - 2.0_wp * rtt)   & 
    332                      &                       - 0.0055_wp* ( t_i_b(ji,layer) + t_i_b(ji,layer+1) - 2.0*rtt )   
     331                  ztemp = t_i_b(ji,layer) + t_i_b(ji,layer+1) - 2._wp * rtt 
     332                  ztcond_i(ji,layer) = rcdic + 0.0900_wp * ( s_i_b(ji,layer) + s_i_b(ji,layer+1) )   & 
     333                     &                                   / MIN( -2.0_wp * epsi10, ztemp )   & 
     334                     &                       - 0.0055_wp * ztemp 
    333335                  ztcond_i(ji,layer) = MAX( ztcond_i(ji,layer), zkimin ) 
    334336               END DO 
    335337            END DO 
    336338            DO ji = kideb , kiut 
    337                ztcond_i(ji,nlay_i) = rcdic + 0.090_wp * s_i_b(ji,nlay_i) / MIN(-epsi10,t_bo_b(ji)-rtt)   & 
    338                   &                        - 0.011_wp * ( t_bo_b(ji) - rtt )   
     339               ztemp = t_bo_b(ji) - rtt 
     340               ztcond_i(ji,nlay_i) = rcdic + 0.090_wp * s_i_b(ji,nlay_i) / MIN( -epsi10, ztemp )   & 
     341                  &                        - 0.011_wp * ztemp   
    339342               ztcond_i(ji,nlay_i) = MAX( ztcond_i(ji,nlay_i), zkimin ) 
    340343            END DO 
  • branches/dev_r4028_CNRS_LIM3_MV2014/NEMOGCM/NEMO/LIM_SRC_3/limthd_sal.F90

    r4045 r4626  
    5353      ! 
    5454      INTEGER  ::   ji, jk     ! dummy loop indices  
    55       REAL(wp) ::   zsold, iflush, iaccrbo, igravdr, isnowic, i_ice_switch,  ztmelts   ! local scalars 
     55      REAL(wp) ::   zsold, iflush, iaccrbo, igravdr, isnowic, ice_switch,  ztmelts   ! local scalars 
    5656      REAL(wp) ::   zaaa, zbbb, zccc, zdiscrim   ! local scalars 
    5757      REAL(wp), POINTER, DIMENSION(:) ::   ze_init, zhiold, zsiold 
     
    9999            ! Switches  
    100100            !---------- 
    101             iflush       =         MAX( 0._wp , SIGN( 1.0 , t_su_b(ji) - rtt )        )    ! =1 if summer  
    102             igravdr      =         MAX( 0._wp , SIGN( 1.0 , t_bo_b(ji) - t_su_b(ji) ) )    ! =1 if t_su < t_bo 
    103             iaccrbo      =         MAX( 0._wp , SIGN( 1.0 , dh_i_bott(ji) )           )    ! =1 if bottom accretion 
    104             i_ice_switch = 1._wp - MAX ( 0._wp , SIGN( 1._wp , - ht_i_b(ji) + 1.e-2 ) ) 
    105             isnowic      = 1._wp - MAX ( 0._wp , SIGN( 1._wp , - dh_snowice(ji) ) ) * i_ice_switch   ! =1 if snow ice formation 
    106  
     101            iflush     =         MAX( 0._wp , SIGN( 1.0 , t_su_b(ji) - rtt )        )           ! =1 if summer  
     102            igravdr    =         MAX( 0._wp , SIGN( 1.0 , t_bo_b(ji) - t_su_b(ji) ) )           ! =1 if t_su < t_bo 
     103            iaccrbo    =         MAX( 0._wp , SIGN( 1.0 , dh_i_bott(ji) )           )           ! =1 if bottom accretion 
     104            ice_switch = 1._wp - MAX ( 0._wp , SIGN( 1._wp , - ht_i_b(ji) + 1.e-2 ) )           ! =1 ice thickness > 1cm 
     105            isnowic    = 1._wp - MAX ( 0._wp , SIGN( 1._wp , - dh_snowice(ji) ) ) * ice_switch  ! =1 if snow ice formation 
     106            ! 
    107107            !--------------------- 
    108108            ! Salinity tendencies 
    109109            !--------------------- 
    110             !                                   ! drainage by gravity drainage 
    111             dsm_i_gd_1d(ji) = - igravdr * MAX( sm_i_b(ji) - sal_G , 0._wp ) / time_G * rdt_ice  
    112             !                                   ! drainage by flushing   
    113             dsm_i_fl_1d(ji) = - iflush  * MAX( sm_i_b(ji) - sal_F , 0._wp ) / time_F * rdt_ice 
    114  
     110            !                                
     111            dsm_i_gd_1d(ji) = - igravdr * MAX( sm_i_b(ji) - sal_G , 0._wp ) / time_G * rdt_ice  ! drainage by gravity 
     112            dsm_i_fl_1d(ji) = - iflush  * MAX( sm_i_b(ji) - sal_F , 0._wp ) / time_F * rdt_ice  ! drainage by flushing  
     113            ! 
    115114            !----------------- 
    116115            ! Update salinity    
     
    119118            ! snow ice / bottom sources are added in lim_thd_ent to conserve energy 
    120119            sm_i_b(ji) = sm_i_b(ji) + dsm_i_fl_1d(ji) + dsm_i_gd_1d(ji) 
    121  
     120            ! 
    122121            ! if no ice, salinity = 0.1 
    123             i_ice_switch = 1._wp - MAX ( 0._wp, SIGN( 1._wp , - ht_i_b(ji) ) ) 
    124             sm_i_b(ji)   = i_ice_switch * sm_i_b(ji) + s_i_min * ( 1._wp - i_ice_switch ) 
    125  
     122            ice_switch = 1._wp - MAX ( 0._wp, SIGN( 1._wp , - ht_i_b(ji) ) ) 
     123            sm_i_b(ji) = ice_switch * sm_i_b(ji) + s_i_min * ( 1._wp - ice_switch ) 
     124            ! 
    126125            !---------------------------- 
    127126            ! Heat flux - brine drainage 
    128127            !---------------------------- 
    129128            fhbri_1d(ji) = 0._wp 
    130  
     129            ! 
    131130            !---------------------------- 
    132131            ! Salt flux - brine drainage 
    133132            !---------------------------- 
    134             sfx_bri_1d(ji) = sfx_bri_1d(ji) - i_ice_switch * rhoic * a_i_b(ji) * ht_i_b(ji) * ( sm_i_b(ji) - zsiold(ji) ) * r1_rdtice 
    135  
     133            sfx_bri_1d(ji) = sfx_bri_1d(ji) - ice_switch * rhoic * a_i_b(ji) * ht_i_b(ji) * ( sm_i_b(ji) - zsiold(ji) ) * r1_rdtice 
     134            ! 
    136135         END DO 
    137136 
  • branches/dev_r4028_CNRS_LIM3_MV2014/NEMOGCM/NEMO/LIM_SRC_3/limwri.F90

    r4566 r4626  
    331331      !!---------------------------------------------------------------------- 
    332332     
    333  
    334      
    335333      CALL histdef( kid, "iicethic", "Ice thickness"           , "m"      , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
    336334      CALL histdef( kid, "iiceconc", "Ice concentration"       , "%"      , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
     
    338336      CALL histdef( kid, "iicevelu", "i-Ice speed (I-point)"   , "m/s"    , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
    339337      CALL histdef( kid, "iicevelv", "j-Ice speed (I-point)"   , "m/s"    , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt )  
    340       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 ) 
    341       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 )  
    342       CALL histdef( kid, "iicesflx", "Solar flux over ocean"     , "w/m2"   , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt )  
    343       CALL histdef( kid, "iicenflx", "Non-solar flux over ocean" , "w/m2"   , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
     338      CALL histdef( kid, "iicestru", "i-Wind stress over ice"  , "Pa"     , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
     339      CALL histdef( kid, "iicestrv", "j-Wind stress over ice"  , "Pa"     , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt )  
     340      CALL histdef( kid, "iicesflx", "Solar flux over ocean"   , "w/m2"   , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt )  
     341      CALL histdef( kid, "iicenflx", "Non-solar flux over ocean","w/m2"   , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
    344342      CALL histdef( kid, "isnowpre", "Snow precipitation"      , "kg/m2/s", jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt )  
    345343      CALL histdef( kid, "iicesali", "Ice salinity"            , "PSU"    , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt )  
    346344      CALL histdef( kid, "iicevolu", "Ice volume"              , "m"      , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt )  
    347345      CALL histdef( kid, "iicedive", "Ice divergence"          , "10-8s-1", jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt )  
    348       CALL histdef( kid, "iicebopr", "Ice bottom production"   , "m/s"      , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
    349       CALL histdef( kid, "iicedypr", "Ice dynamic production"  , "m/s"      , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
    350       CALL histdef( kid, "iicelapr", "Ice open water prod"     , "m/s"      , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
    351       CALL histdef( kid, "iicesipr", "Snow ice production "    , "m/s"      , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
    352       CALL histdef( kid, "iicerepr", "Ice prod from limupdate" , "m/s"      , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
    353       CALL histdef( kid, "iicebome", "Ice bottom melt"         , "m/s"      , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
    354       CALL histdef( kid, "iicesume", "Ice surface melt"        , "m/s"      , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
    355       CALL histdef( kid, "iisfxthd", "Salt flux from thermo"   , ""      , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
    356       CALL histdef( kid, "iisfxmec", "Salt flux from dynmics"  , ""      , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
    357       CALL histdef( kid, "iisfxres", "Salt flux from limupdate", ""      , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
     346      CALL histdef( kid, "iicebopr", "Ice bottom production"   , "m/s"    , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
     347      CALL histdef( kid, "iicedypr", "Ice dynamic production"  , "m/s"    , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
     348      CALL histdef( kid, "iicelapr", "Ice open water prod"     , "m/s"    , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
     349      CALL histdef( kid, "iicesipr", "Snow ice production "    , "m/s"    , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
     350      CALL histdef( kid, "iicerepr", "Ice prod from limupdate" , "m/s"    , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
     351      CALL histdef( kid, "iicebome", "Ice bottom melt"         , "m/s"    , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
     352      CALL histdef( kid, "iicesume", "Ice surface melt"        , "m/s"    , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
     353      CALL histdef( kid, "iisfxthd", "Salt flux from thermo"   , ""       , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
     354      CALL histdef( kid, "iisfxmec", "Salt flux from dynmics"  , ""       , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
     355      CALL histdef( kid, "iisfxres", "Salt flux from limupdate", ""       , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
    358356 
    359357      CALL histend( kid, snc4set )   ! end of the file definition 
    360358 
    361       CALL histwrite( kid, "iicethic", kt, icethi        , jpi*jpj, (/1/) )     
    362       CALL histwrite( kid, "iiceconc", kt, at_i          , jpi*jpj, (/1/) ) 
    363       CALL histwrite( kid, "iicetemp", kt, tm_i - rtt    , jpi*jpj, (/1/) ) 
    364       CALL histwrite( kid, "iicevelu", kt, u_ice          , jpi*jpj, (/1/) ) 
    365       CALL histwrite( kid, "iicevelv", kt, v_ice          , jpi*jpj, (/1/) ) 
    366       CALL histwrite( kid, "iicestru", kt, utau_ice       , jpi*jpj, (/1/) ) 
    367       CALL histwrite( kid, "iicestrv", kt, vtau_ice       , jpi*jpj, (/1/) ) 
    368       CALL histwrite( kid, "iicesflx", kt, qsr , jpi*jpj, (/1/) ) 
    369       CALL histwrite( kid, "iicenflx", kt, qns , jpi*jpj, (/1/) ) 
    370       CALL histwrite( kid, "isnowpre", kt, sprecip        , jpi*jpj, (/1/) ) 
    371       CALL histwrite( kid, "iicesali", kt, smt_i          , jpi*jpj, (/1/) ) 
    372       CALL histwrite( kid, "iicevolu", kt, vt_i           , jpi*jpj, (/1/) ) 
    373       CALL histwrite( kid, "iicedive", kt, divu_i*1.0e8   , jpi*jpj, (/1/) ) 
    374  
    375       CALL histwrite( kid, "iicebopr", kt, diag_bot_gr        , jpi*jpj, (/1/) ) 
    376       CALL histwrite( kid, "iicedypr", kt, diag_dyn_gr        , jpi*jpj, (/1/) ) 
    377       CALL histwrite( kid, "iicelapr", kt, diag_lat_gr        , jpi*jpj, (/1/) ) 
    378       CALL histwrite( kid, "iicesipr", kt, diag_sni_gr        , jpi*jpj, (/1/) ) 
    379       CALL histwrite( kid, "iicerepr", kt, diag_res_pr        , jpi*jpj, (/1/) ) 
    380       CALL histwrite( kid, "iicebome", kt, diag_bot_me        , jpi*jpj, (/1/) ) 
    381       CALL histwrite( kid, "iicesume", kt, diag_sur_me        , jpi*jpj, (/1/) ) 
    382       CALL histwrite( kid, "iisfxthd", kt, sfx_thd        , jpi*jpj, (/1/) ) 
    383       CALL histwrite( kid, "iisfxmec", kt, sfx_mec        , jpi*jpj, (/1/) ) 
    384       CALL histwrite( kid, "iisfxres", kt, sfx_res        , jpi*jpj, (/1/) ) 
     359      CALL histwrite( kid, "iicethic", kt, icethi      , jpi*jpj, (/1/) )     
     360      CALL histwrite( kid, "iiceconc", kt, at_i        , jpi*jpj, (/1/) ) 
     361      CALL histwrite( kid, "iicetemp", kt, tm_i - rtt  , jpi*jpj, (/1/) ) 
     362      CALL histwrite( kid, "iicevelu", kt, u_ice       , jpi*jpj, (/1/) ) 
     363      CALL histwrite( kid, "iicevelv", kt, v_ice       , jpi*jpj, (/1/) ) 
     364      CALL histwrite( kid, "iicestru", kt, utau_ice    , jpi*jpj, (/1/) ) 
     365      CALL histwrite( kid, "iicestrv", kt, vtau_ice    , jpi*jpj, (/1/) ) 
     366      CALL histwrite( kid, "iicesflx", kt, qsr         , jpi*jpj, (/1/) ) 
     367      CALL histwrite( kid, "iicenflx", kt, qns         , jpi*jpj, (/1/) ) 
     368      CALL histwrite( kid, "isnowpre", kt, sprecip     , jpi*jpj, (/1/) ) 
     369      CALL histwrite( kid, "iicesali", kt, smt_i       , jpi*jpj, (/1/) ) 
     370      CALL histwrite( kid, "iicevolu", kt, vt_i        , jpi*jpj, (/1/) ) 
     371      CALL histwrite( kid, "iicedive", kt, divu_i*1.0e8, jpi*jpj, (/1/) ) 
     372 
     373      CALL histwrite( kid, "iicebopr", kt, diag_bot_gr , jpi*jpj, (/1/) ) 
     374      CALL histwrite( kid, "iicedypr", kt, diag_dyn_gr , jpi*jpj, (/1/) ) 
     375      CALL histwrite( kid, "iicelapr", kt, diag_lat_gr , jpi*jpj, (/1/) ) 
     376      CALL histwrite( kid, "iicesipr", kt, diag_sni_gr , jpi*jpj, (/1/) ) 
     377      CALL histwrite( kid, "iicerepr", kt, diag_res_pr , jpi*jpj, (/1/) ) 
     378      CALL histwrite( kid, "iicebome", kt, diag_bot_me , jpi*jpj, (/1/) ) 
     379      CALL histwrite( kid, "iicesume", kt, diag_sur_me , jpi*jpj, (/1/) ) 
     380      CALL histwrite( kid, "iisfxthd", kt, sfx_thd     , jpi*jpj, (/1/) ) 
     381      CALL histwrite( kid, "iisfxmec", kt, sfx_mec     , jpi*jpj, (/1/) ) 
     382      CALL histwrite( kid, "iisfxres", kt, sfx_res     , jpi*jpj, (/1/) ) 
    385383 
    386384      ! Close the file 
Note: See TracChangeset for help on using the changeset viewer.