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.
Changeset 2528 for trunk/NEMOGCM/NEMO/LIM_SRC_3/limdia.F90 – NEMO

Ignore:
Timestamp:
2010-12-27T18:33:53+01:00 (13 years ago)
Author:
rblod
Message:

Update NEMOGCM from branch nemo_v3_3_beta

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/NEMO/LIM_SRC_3/limdia.F90

    r2477 r2528  
    1414   !!   lim_dia_init   : initialization and namelist read 
    1515   !!---------------------------------------------------------------------- 
    16    !! * Modules used 
    17    USE phycst 
    18    USE in_out_manager 
    19    USE par_ice         ! ice parameters 
    20    USE sbc_ice         ! ice variables 
    21    USE daymod 
    22    USE dom_ice 
    23    USE ice 
    24    USE dom_oce 
    25    USE sbc_oce         ! Surface boundary condition: ocean fields 
    26    USE dom_oce 
    27    USE lib_mpp 
    28    USE in_out_manager 
    29   
     16   USE ice             ! LIM-3: sea-ice variable 
     17   USE par_ice         ! LIM-3: ice parameters 
     18   USE dom_ice         ! LIM-3: sea-ice domain 
     19   USE dom_oce         ! ocean domain 
     20   USE sbc_oce         ! surface boundary condition: ocean fields 
     21   USE daymod          ! model calendar 
     22   USE phycst          ! physical constant 
     23   USE in_out_manager  ! I/O manager 
     24   USE lib_mpp         ! MPP library 
     25    
    3026   IMPLICIT NONE 
    3127   PRIVATE 
     
    4642   INTEGER  ::   nbvt                ! number of time variables 
    4743   INTEGER  ::   naveg               ! number of step for accumulation before averaging 
    48    REAL(wp) ::   epsi06 = 1.e-6   ! small number 
     44   REAL(wp) ::   epsi06 = 1.e-6_wp   ! small number 
    4945 
    5046   CHARACTER(len= 8) ::   fmtinf = '1PE13.5 '   ! format of the output values   
     
    8480      ! 0) date from the minimum of ice extent 
    8581      !--------------------------------------- 
    86       zday_min = 273.        ! zday_min = date of minimum extent, here September 30th 
    87       zday = REAL(numit-nit000) * rdt_ice / ( 86400. * REAL(nn_fsbc) ) 
     82      zday_min = 273._wp        ! zday_min = date of minimum extent, here September 30th 
     83      zday = REAL(numit-nit000,wp) * rdt_ice / ( 86400._wp * REAL(nn_fsbc,wp) ) 
    8884      ! 
    8985      IF( zday > zday_min ) THEN   ;   zshift_date  =  zday - zday_min 
     
    9793 
    9894      DO jv = nbvt + 1, nvinfo      ! put everything to zero 
    99          vinfor(jv) = 0. 
     95         vinfor(jv) = 0._wp 
    10096      END DO 
    10197 
     
    108104         DO ji = fs_2, fs_jpim1   ! vector opt. 
    109105            IF( tms(ji,jj) == 1 ) THEN 
    110                vinfor(3)  = vinfor(3)  + at_i(ji,jj)*aire(ji,jj) * 1.e-12 !ice area 
    111                IF (at_i(ji,jj).GT.0.15) vinfor(5) = vinfor(5) + aire(ji,jj) * 1.e-12 !ice extent 
    112                vinfor(7)  = vinfor(7)  + vt_i(ji,jj)*aire(ji,jj) * 1.e-12 !ice volume 
    113                vinfor(9)  = vinfor(9)  + vt_s(ji,jj)*aire(ji,jj) * 1.e-12 !snow volume 
    114                vinfor(15) = vinfor(15) + ot_i(ji,jj) *vt_i(ji,jj)*aire(ji,jj) * 1.e-12 !mean age 
    115                vinfor(29) = vinfor(29) + smt_i(ji,jj)*vt_i(ji,jj)*aire(ji,jj) * 1.e-12 !mean salinity 
     106               vinfor(3)  = vinfor(3)  + at_i(ji,jj)*aire(ji,jj) * 1.e-12_wp !ice area 
     107               IF (at_i(ji,jj).GT.0.15) vinfor(5) = vinfor(5) + aire(ji,jj) * 1.e-12_wp !ice extent 
     108               vinfor(7)  = vinfor(7)  + vt_i(ji,jj)*aire(ji,jj) * 1.e-12_wp !ice volume 
     109               vinfor(9)  = vinfor(9)  + vt_s(ji,jj)*aire(ji,jj) * 1.e-12_wp !snow volume 
     110               vinfor(15) = vinfor(15) + ot_i(ji,jj) *vt_i(ji,jj)*aire(ji,jj) * 1.e-12_wp !mean age 
     111               vinfor(29) = vinfor(29) + smt_i(ji,jj)*vt_i(ji,jj)*aire(ji,jj) * 1.e-12_wp !mean salinity 
    116112               ! the computation of this diagnostic is not reliable 
    117113               vinfor(31) = vinfor(31) + vt_i(ji,jj)*( u_ice(ji,jj)*u_ice(ji,jj) + &  
    118114                  v_ice(ji,jj)*v_ice(ji,jj) )*aire(ji,jj)/1.0e12  
    119                vinfor(53) = vinfor(53) + emps(ji,jj)*aire(ji,jj) * 1.e-12 !salt flux 
    120                vinfor(55) = vinfor(55) + fsbri(ji,jj)*aire(ji,jj) * 1.e-12 !brine drainage flux 
    121                vinfor(57) = vinfor(57) + fseqv(ji,jj)*aire(ji,jj) * 1.e-12 !equivalent salt flux 
    122                vinfor(59) = vinfor(59) +(sst_m(ji,jj)+rt0)*at_i(ji,jj)*aire(ji,jj) * 1.e-12  !SST 
    123                vinfor(61) = vinfor(61) + sss_m(ji,jj)*at_i(ji,jj)*aire(ji,jj) * 1.e-12  !SSS 
    124                vinfor(65) = vinfor(65) + et_s(ji,jj)/1.0e9*aire(ji,jj) * 1.e-12  ! snow temperature 
    125                vinfor(67) = vinfor(67) + et_i(ji,jj)/1.0e9*aire(ji,jj) * 1.e-12       ! ice heat content 
    126                vinfor(69) = vinfor(69) + v_i(ji,jj,1)*aire(ji,jj) * 1.e-12 !ice volume 
    127                vinfor(71) = vinfor(71) + v_i(ji,jj,2)*aire(ji,jj) * 1.e-12 !ice volume 
    128                vinfor(73) = vinfor(73) + v_i(ji,jj,3)*aire(ji,jj) * 1.e-12 !ice volume 
    129                vinfor(75) = vinfor(75) + v_i(ji,jj,4)*aire(ji,jj) * 1.e-12 !ice volume 
    130                vinfor(77) = vinfor(77) + v_i(ji,jj,5)*aire(ji,jj) * 1.e-12 !ice volume 
     115               vinfor(53) = vinfor(53) + emps(ji,jj)*aire(ji,jj) * 1.e-12_wp !salt flux 
     116               vinfor(55) = vinfor(55) + fsbri(ji,jj)*aire(ji,jj) * 1.e-12_wp !brine drainage flux 
     117               vinfor(57) = vinfor(57) + fseqv(ji,jj)*aire(ji,jj) * 1.e-12_wp !equivalent salt flux 
     118               vinfor(59) = vinfor(59) +(sst_m(ji,jj)+rt0)*at_i(ji,jj)*aire(ji,jj) * 1.e-12_wp  !SST 
     119               vinfor(61) = vinfor(61) + sss_m(ji,jj)*at_i(ji,jj)*aire(ji,jj) * 1.e-12_wp  !SSS 
     120               vinfor(65) = vinfor(65) + et_s(ji,jj)/1.0e9*aire(ji,jj) * 1.e-12_wp  ! snow temperature 
     121               vinfor(67) = vinfor(67) + et_i(ji,jj)/1.0e9*aire(ji,jj) * 1.e-12_wp       ! ice heat content 
     122               vinfor(69) = vinfor(69) + v_i(ji,jj,1)*aire(ji,jj) * 1.e-12_wp !ice volume 
     123               vinfor(71) = vinfor(71) + v_i(ji,jj,2)*aire(ji,jj) * 1.e-12_wp !ice volume 
     124               vinfor(73) = vinfor(73) + v_i(ji,jj,3)*aire(ji,jj) * 1.e-12_wp !ice volume 
     125               vinfor(75) = vinfor(75) + v_i(ji,jj,4)*aire(ji,jj) * 1.e-12_wp !ice volume 
     126               vinfor(77) = vinfor(77) + v_i(ji,jj,5)*aire(ji,jj) * 1.e-12_wp !ice volume 
    131127               vinfor(79) = 0.0 
    132                vinfor(81) = vinfor(81) + emp(ji,jj)*aire(ji,jj) * 1.e-12 ! mass flux 
     128               vinfor(81) = vinfor(81) + emp(ji,jj)*aire(ji,jj) * 1.e-12_wp ! mass flux 
    133129            ENDIF 
    134130         END DO 
     
    139135            DO ji = fs_2, fs_jpim1   ! vector opt. 
    140136               IF( tms(ji,jj) == 1 ) THEN 
    141                   vinfor(11) = vinfor(11) + v_i(ji,jj,jl)*aire(ji,jj) * 1.e-12 !undef def ice volume 
     137                  vinfor(11) = vinfor(11) + v_i(ji,jj,jl)*aire(ji,jj) * 1.e-12_wp !undef def ice volume 
    142138               ENDIF 
    143139            END DO 
     
    145141      END DO 
    146142 
    147       vinfor(13) = 0. 
     143      vinfor(13) = 0._wp 
    148144 
    149145      vinfor(15) = vinfor(15) / MAX(vinfor(7),epsi06) ! these have to be divided by total ice volume to have the 
     
    169165            DO ji = fs_2, fs_jpim1   ! vector opt. 
    170166               IF( tms(ji,jj) == 1 ) THEN 
    171                   vinfor(33) = vinfor(33) + d_v_i_trp(ji,jj,jl)*aire(ji,jj) * 1.e-12 !ice volume 
    172                   vinfor(35) = vinfor(35) + d_v_i_thd(ji,jj,jl)*aire(ji,jj) * 1.e-12 !ice volume 
     167                  vinfor(33) = vinfor(33) + d_v_i_trp(ji,jj,jl)*aire(ji,jj) * 1.e-12_wp !ice volume 
     168                  vinfor(35) = vinfor(35) + d_v_i_thd(ji,jj,jl)*aire(ji,jj) * 1.e-12_wp !ice volume 
    173169               ENDIF 
    174170            END DO 
     
    179175         DO ji = fs_2, fs_jpim1   ! vector opt. 
    180176            IF( tms(ji,jj) == 1 ) THEN 
    181                vinfor(37) = vinfor(37) + diag_sni_gr(ji,jj)*aire(ji,jj) * 1.e-12 !th growth rates 
    182                vinfor(39) = vinfor(39) + diag_lat_gr(ji,jj)*aire(ji,jj) * 1.e-12  
    183                vinfor(41) = vinfor(41) + diag_bot_gr(ji,jj)*aire(ji,jj) * 1.e-12 
    184                vinfor(43) = vinfor(43) + diag_dyn_gr(ji,jj)*aire(ji,jj) * 1.e-12  
    185                vinfor(45) = vinfor(45) + dv_dt_thd(ji,jj,5)*aire(ji,jj) * 1.e-12 
    186                vinfor(47) = vinfor(47) + v_newice(ji,jj) *aire(ji,jj) * 1.e-12 / rdt_ice ! volume acc in OW 
     177               vinfor(37) = vinfor(37) + diag_sni_gr(ji,jj)*aire(ji,jj) * 1.e-12_wp !th growth rates 
     178               vinfor(39) = vinfor(39) + diag_lat_gr(ji,jj)*aire(ji,jj) * 1.e-12_wp  
     179               vinfor(41) = vinfor(41) + diag_bot_gr(ji,jj)*aire(ji,jj) * 1.e-12_wp 
     180               vinfor(43) = vinfor(43) + diag_dyn_gr(ji,jj)*aire(ji,jj) * 1.e-12_wp  
     181               vinfor(45) = vinfor(45) + dv_dt_thd(ji,jj,5)*aire(ji,jj) * 1.e-12_wp 
     182               vinfor(47) = vinfor(47) + v_newice(ji,jj) *aire(ji,jj) * 1.e-12_wp / rdt_ice ! volume acc in OW 
    187183            ENDIF 
    188184         END DO 
     
    193189            DO ji = fs_2, fs_jpim1   ! vector opt. 
    194190               IF( tms(ji,jj) == 1 ) THEN 
    195                   vinfor(63) = vinfor(63) + t_su(ji,jj,jl)*a_i(ji,jj,jl)*aire(ji,jj) * 1.e-12 
     191                  vinfor(63) = vinfor(63) + t_su(ji,jj,jl)*a_i(ji,jj,jl)*aire(ji,jj) * 1.e-12_wp 
    196192               ENDIF 
    197193            END DO 
     
    209205               DO jl = 1, jpl 
    210206                  IF ((o_i(ji,jj,jl) - zshift_date).LT.0.0) THEN 
    211                      vinfor(17) = vinfor(17) + a_i(ji,jj,jl)*aire(ji,jj) * 1.e-12 ! FY ice area 
    212                      vinfor(25) = vinfor(25) + v_i(ji,jj,jl)*aire(ji,jj) * 1.e-12 ! FY ice volume 
    213                      vinfor(49) = vinfor(49) + sm_i(ji,jj,jl)*v_i(ji,jj,jl)*aire(ji,jj) * 1.e-12 !FY ice salinity 
     207                     vinfor(17) = vinfor(17) + a_i(ji,jj,jl)*aire(ji,jj) * 1.e-12_wp ! FY ice area 
     208                     vinfor(25) = vinfor(25) + v_i(ji,jj,jl)*aire(ji,jj) * 1.e-12_wp ! FY ice volume 
     209                     vinfor(49) = vinfor(49) + sm_i(ji,jj,jl)*v_i(ji,jj,jl)*aire(ji,jj) * 1.e-12_wp !FY ice salinity 
    214210                     zafy = zafy + a_i(ji,jj,jl) 
    215211                  ENDIF 
    216212                  IF ((o_i(ji,jj,jl) - zshift_date).GT.0.0) THEN 
    217                      vinfor(19) = vinfor(19) + a_i(ji,jj,jl)*aire(ji,jj) * 1.e-12    ! MY ice area 
    218                      vinfor(27) = vinfor(27) + v_i(ji,jj,jl)*aire(ji,jj) * 1.e-12 ! MY ice volume 
    219                      vinfor(51) = vinfor(51) + sm_i(ji,jj,jl)*v_i(ji,jj,jl)*aire(ji,jj) * 1.e-12 !MY ice salinity 
     213                     vinfor(19) = vinfor(19) + a_i(ji,jj,jl)*aire(ji,jj) * 1.e-12_wp    ! MY ice area 
     214                     vinfor(27) = vinfor(27) + v_i(ji,jj,jl)*aire(ji,jj) * 1.e-12_wp ! MY ice volume 
     215                     vinfor(51) = vinfor(51) + sm_i(ji,jj,jl)*v_i(ji,jj,jl)*aire(ji,jj) * 1.e-12_wp !MY ice salinity 
    220216                     zamy = zamy + a_i(ji,jj,jl) 
    221217                  ENDIF 
    222218               END DO 
    223219               IF ((at_i(ji,jj).GT.0.15).AND.(zafy.GT.zamy)) THEN 
    224                   vinfor(21) = vinfor(21) + aire(ji,jj) * 1.e-12 ! Seasonal ice extent 
     220                  vinfor(21) = vinfor(21) + aire(ji,jj) * 1.e-12_wp ! Seasonal ice extent 
    225221               ENDIF 
    226222               IF ((at_i(ji,jj).GT.0.15).AND.(zafy.LE.zamy)) THEN 
    227                   vinfor(23) = vinfor(23) + aire(ji,jj) * 1.e-12 ! Perennial ice extent 
     223                  vinfor(23) = vinfor(23) + aire(ji,jj) * 1.e-12_wp ! Perennial ice extent 
    228224               ENDIF 
    229225            ENDIF 
     
    245241      DO ji = 134, 138 
    246242         vinfor(83) = vinfor(83) - v_ice(ji,jj) * &  
    247             e1t(ji,jj)*at_i(ji,jj)*rdt_ice * 1.e-12 
     243            e1t(ji,jj)*at_i(ji,jj)*rdt_ice * 1.e-12_wp 
    248244         vinfor(84) = vinfor(84) - v_ice(ji,jj) * &  
    249             e1t(ji,jj)*vt_i(ji,jj)*rdt_ice * 1.e-12 
     245            e1t(ji,jj)*vt_i(ji,jj)*rdt_ice * 1.e-12_wp 
    250246      END DO 
    251247 
     
    258254         DO ji = fs_2, fs_jpim1   ! vector opt. 
    259255            IF( tms(ji,jj) == 1 ) THEN 
    260                vinfor(4)  = vinfor(4)  + at_i(ji,jj)*aire(ji,jj) * 1.e-12 !ice area 
    261                IF (at_i(ji,jj).GT.0.15) vinfor(6) = vinfor(6) + aire(ji,jj) * 1.e-12 !ice extent 
    262                vinfor(8)  = vinfor(8)  + vt_i(ji,jj)*aire(ji,jj) * 1.e-12 !ice volume 
    263                vinfor(10) = vinfor(10) + vt_s(ji,jj)*aire(ji,jj) * 1.e-12 !snow volume 
    264                vinfor(16) = vinfor(16) + ot_i(ji,jj)*vt_i(ji,jj)*aire(ji,jj) * 1.e-12 !mean age 
    265                vinfor(30) = vinfor(30) + smt_i(ji,jj)*vt_i(ji,jj)*aire(ji,jj) * 1.e-12 !mean salinity 
     256               vinfor(4)  = vinfor(4)  + at_i(ji,jj)*aire(ji,jj) * 1.e-12_wp !ice area 
     257               IF (at_i(ji,jj).GT.0.15) vinfor(6) = vinfor(6) + aire(ji,jj) * 1.e-12_wp !ice extent 
     258               vinfor(8)  = vinfor(8)  + vt_i(ji,jj)*aire(ji,jj) * 1.e-12_wp !ice volume 
     259               vinfor(10) = vinfor(10) + vt_s(ji,jj)*aire(ji,jj) * 1.e-12_wp !snow volume 
     260               vinfor(16) = vinfor(16) + ot_i(ji,jj)*vt_i(ji,jj)*aire(ji,jj) * 1.e-12_wp !mean age 
     261               vinfor(30) = vinfor(30) + smt_i(ji,jj)*vt_i(ji,jj)*aire(ji,jj) * 1.e-12_wp !mean salinity 
    266262               ! this diagnostic is not well computed (weighted by vol instead 
    267263               ! of area) 
    268264               vinfor(32) = vinfor(32) + vt_i(ji,jj)*( u_ice(ji,jj)*u_ice(ji,jj) + &  
    269265                  v_ice(ji,jj)*v_ice(ji,jj) )*aire(ji,jj)/1.0e12 !ice vel 
    270                vinfor(54) = vinfor(54) + at_i(ji,jj)*emps(ji,jj)*aire(ji,jj) * 1.e-12 ! Total salt flux 
    271                vinfor(56) = vinfor(56) + at_i(ji,jj)*fsbri(ji,jj)*aire(ji,jj) * 1.e-12 ! Brine drainage salt flux 
    272                vinfor(58) = vinfor(58) + at_i(ji,jj)*fseqv(ji,jj)*aire(ji,jj) * 1.e-12 ! Equivalent salt flux 
    273                vinfor(60) = vinfor(60) +(sst_m(ji,jj)+rt0)*at_i(ji,jj)*aire(ji,jj) * 1.e-12  !SST 
    274                vinfor(62) = vinfor(62) + sss_m(ji,jj)*at_i(ji,jj)*aire(ji,jj) * 1.e-12  !SSS 
    275                vinfor(66) = vinfor(66) + et_s(ji,jj)/1.0e9*aire(ji,jj) * 1.e-12 ! snow temperature 
    276                vinfor(68) = vinfor(68) + et_i(ji,jj)/1.0e9*aire(ji,jj) * 1.e-12 ! ice enthalpy 
    277                vinfor(70) = vinfor(70) + v_i(ji,jj,1)*aire(ji,jj) * 1.e-12 !ice volume 
    278                vinfor(72) = vinfor(72) + v_i(ji,jj,2)*aire(ji,jj) * 1.e-12 !ice volume 
    279                vinfor(74) = vinfor(74) + v_i(ji,jj,3)*aire(ji,jj) * 1.e-12 !ice volume 
    280                vinfor(76) = vinfor(76) + v_i(ji,jj,4)*aire(ji,jj) * 1.e-12 !ice volume 
    281                vinfor(78) = vinfor(78) + v_i(ji,jj,5)*aire(ji,jj) * 1.e-12 !ice volume 
     266               vinfor(54) = vinfor(54) + at_i(ji,jj)*emps(ji,jj)*aire(ji,jj) * 1.e-12_wp ! Total salt flux 
     267               vinfor(56) = vinfor(56) + at_i(ji,jj)*fsbri(ji,jj)*aire(ji,jj) * 1.e-12_wp ! Brine drainage salt flux 
     268               vinfor(58) = vinfor(58) + at_i(ji,jj)*fseqv(ji,jj)*aire(ji,jj) * 1.e-12_wp ! Equivalent salt flux 
     269               vinfor(60) = vinfor(60) +(sst_m(ji,jj)+rt0)*at_i(ji,jj)*aire(ji,jj) * 1.e-12_wp  !SST 
     270               vinfor(62) = vinfor(62) + sss_m(ji,jj)*at_i(ji,jj)*aire(ji,jj) * 1.e-12_wp  !SSS 
     271               vinfor(66) = vinfor(66) + et_s(ji,jj)/1.0e9*aire(ji,jj) * 1.e-12_wp ! snow temperature 
     272               vinfor(68) = vinfor(68) + et_i(ji,jj)/1.0e9*aire(ji,jj) * 1.e-12_wp ! ice enthalpy 
     273               vinfor(70) = vinfor(70) + v_i(ji,jj,1)*aire(ji,jj) * 1.e-12_wp !ice volume 
     274               vinfor(72) = vinfor(72) + v_i(ji,jj,2)*aire(ji,jj) * 1.e-12_wp !ice volume 
     275               vinfor(74) = vinfor(74) + v_i(ji,jj,3)*aire(ji,jj) * 1.e-12_wp !ice volume 
     276               vinfor(76) = vinfor(76) + v_i(ji,jj,4)*aire(ji,jj) * 1.e-12_wp !ice volume 
     277               vinfor(78) = vinfor(78) + v_i(ji,jj,5)*aire(ji,jj) * 1.e-12_wp !ice volume 
    282278               vinfor(80) = 0.0 
    283                vinfor(82) = vinfor(82) + emp(ji,jj)*aire(ji,jj) * 1.e-12 ! mass flux 
     279               vinfor(82) = vinfor(82) + emp(ji,jj)*aire(ji,jj) * 1.e-12_wp ! mass flux 
    284280            ENDIF 
    285281         END DO 
     
    289285         DO jj = 2, njeqm1 
    290286            DO ji = fs_2, fs_jpim1   ! vector opt. 
    291                vinfor(12) = vinfor(12) + v_i(ji,jj,jl)*aire(ji,jj) * 1.e-12 !undef def ice volume 
     287               vinfor(12) = vinfor(12) + v_i(ji,jj,jl)*aire(ji,jj) * 1.e-12_wp !undef def ice volume 
    292288            END DO 
    293289         END DO 
     
    320316            DO ji = fs_2, fs_jpim1   ! vector opt. 
    321317               IF( tms(ji,jj) == 1 ) THEN 
    322                   vinfor(34) = vinfor(34) + d_v_i_trp(ji,jj,jl)*aire(ji,jj) * 1.e-12 !ice volume 
    323                   vinfor(36) = vinfor(36) + d_v_i_thd(ji,jj,jl)*aire(ji,jj) * 1.e-12 !ice volume 
     318                  vinfor(34) = vinfor(34) + d_v_i_trp(ji,jj,jl)*aire(ji,jj) * 1.e-12_wp !ice volume 
     319                  vinfor(36) = vinfor(36) + d_v_i_thd(ji,jj,jl)*aire(ji,jj) * 1.e-12_wp !ice volume 
    324320               ENDIF 
    325321            END DO 
     
    330326         DO ji = fs_2, fs_jpim1   ! vector opt. 
    331327            IF( tms(ji,jj) == 1 ) THEN 
    332                vinfor(38) = vinfor(38) + diag_sni_gr(ji,jj)*aire(ji,jj) * 1.e-12 !th growth rates 
    333                vinfor(40) = vinfor(40) + diag_lat_gr(ji,jj)*aire(ji,jj) * 1.e-12  
    334                vinfor(42) = vinfor(42) + diag_bot_gr(ji,jj)*aire(ji,jj) * 1.e-12 
    335                vinfor(44) = vinfor(44) + diag_dyn_gr(ji,jj)*aire(ji,jj) * 1.e-12  
    336                vinfor(46) = vinfor(46) + dv_dt_thd(ji,jj,5)*aire(ji,jj) * 1.e-12 
    337                vinfor(48) = vinfor(48) + v_newice(ji,jj) *aire(ji,jj) * 1.e-12 / rdt_ice ! volume acc in OW 
     328               vinfor(38) = vinfor(38) + diag_sni_gr(ji,jj)*aire(ji,jj) * 1.e-12_wp !th growth rates 
     329               vinfor(40) = vinfor(40) + diag_lat_gr(ji,jj)*aire(ji,jj) * 1.e-12_wp  
     330               vinfor(42) = vinfor(42) + diag_bot_gr(ji,jj)*aire(ji,jj) * 1.e-12_wp 
     331               vinfor(44) = vinfor(44) + diag_dyn_gr(ji,jj)*aire(ji,jj) * 1.e-12_wp  
     332               vinfor(46) = vinfor(46) + dv_dt_thd(ji,jj,5)*aire(ji,jj) * 1.e-12_wp 
     333               vinfor(48) = vinfor(48) + v_newice(ji,jj) *aire(ji,jj) * 1.e-12_wp / rdt_ice ! volume acc in OW 
    338334            ENDIF 
    339335         END DO 
     
    344340            DO ji = fs_2, fs_jpim1   ! vector opt. 
    345341               IF( tms(ji,jj) == 1 ) THEN 
    346                   vinfor(64) = vinfor(64) + t_su(ji,jj,jl)*a_i(ji,jj,jl)*aire(ji,jj) * 1.e-12 
     342                  vinfor(64) = vinfor(64) + t_su(ji,jj,jl)*a_i(ji,jj,jl)*aire(ji,jj) * 1.e-12_wp 
    347343               ENDIF 
    348344            END DO 
     
    356352         DO ji = fs_2, fs_jpim1   ! vector opt. 
    357353            IF( tms(ji,jj) == 1 ) THEN 
    358                zafy = 0. 
    359                zamy = 0. 
     354               zafy = 0._wp 
     355               zamy = 0._wp 
    360356               DO jl = 1, jpl 
    361                   IF( (o_i(ji,jj,jl) - zshift_date) < 0. ) THEN 
    362                      vinfor(18) = vinfor(18) + a_i(ji,jj,jl)*aire(ji,jj) * 1.e-12 ! FY ice area 
    363                      vinfor(26) = vinfor(26) + v_i(ji,jj,jl)*aire(ji,jj) * 1.e-12 ! FY ice volume 
     357                  IF( (o_i(ji,jj,jl) - zshift_date) < 0._wp ) THEN 
     358                     vinfor(18) = vinfor(18) + a_i(ji,jj,jl)*aire(ji,jj) * 1.e-12_wp ! FY ice area 
     359                     vinfor(26) = vinfor(26) + v_i(ji,jj,jl)*aire(ji,jj) * 1.e-12_wp ! FY ice volume 
    364360                     zafy = zafy + a_i(ji,jj,jl) 
    365                      vinfor(50) = vinfor(50) + sm_i(ji,jj,jl)*v_i(ji,jj,jl)*aire(ji,jj) * 1.e-12 !FY ice salinity 
     361                     vinfor(50) = vinfor(50) + sm_i(ji,jj,jl)*v_i(ji,jj,jl)*aire(ji,jj) * 1.e-12_wp !FY ice salinity 
    366362                  ENDIF 
    367                   IF( (o_i(ji,jj,jl) - zshift_date) > 0. ) THEN 
    368                      vinfor(20) = vinfor(20) + a_i(ji,jj,jl)*aire(ji,jj) * 1.e-12    ! MY ice area 
    369                      vinfor(28) = vinfor(28) + v_i(ji,jj,jl)*aire(ji,jj) * 1.e-12 
    370                      vinfor(52) = vinfor(52) + sm_i(ji,jj,jl)*v_i(ji,jj,jl)*aire(ji,jj) * 1.e-12 !FY ice salinity 
     363                  IF( (o_i(ji,jj,jl) - zshift_date) > 0._wp ) THEN 
     364                     vinfor(20) = vinfor(20) + a_i(ji,jj,jl)*aire(ji,jj) * 1.e-12_wp    ! MY ice area 
     365                     vinfor(28) = vinfor(28) + v_i(ji,jj,jl)*aire(ji,jj) * 1.e-12_wp 
     366                     vinfor(52) = vinfor(52) + sm_i(ji,jj,jl)*v_i(ji,jj,jl)*aire(ji,jj) * 1.e-12_wp !FY ice salinity 
    371367                     zamy = zamy + a_i(ji,jj,jl) 
    372368                  ENDIF 
    373369               END DO ! jl 
    374370               IF ((at_i(ji,jj).GT.0.15).AND.(zafy.GT.zamy)) THEN 
    375                   vinfor(22) = vinfor(22) + aire(ji,jj) * 1.e-12 ! Seasonal ice extent 
     371                  vinfor(22) = vinfor(22) + aire(ji,jj) * 1.e-12_wp ! Seasonal ice extent 
    376372               ENDIF 
    377373               IF ((at_i(ji,jj).GT.0.15).AND.(zafy.LE.zamy)) THEN 
    378                   vinfor(24) = vinfor(24) + aire(ji,jj) * 1.e-12 ! Perennial ice extent 
     374                  vinfor(24) = vinfor(24) + aire(ji,jj) * 1.e-12_wp ! Perennial ice extent 
    379375               ENDIF 
    380376            ENDIF ! tms 
     
    397393      naveg = 0 
    398394      DO jv = 1, nvinfo 
    399          vinfom(jv) = 0. 
     395         vinfom(jv) = 0._wp 
    400396      END DO 
    401397      !MV      ENDIF 
     
    568564      !--Initialisation of the arrays for the accumulation 
    569565      DO jv = 1, nvinfo 
    570          vinfom(jv) = 0. 
     566         vinfom(jv) = 0._wp 
    571567      END DO 
    572568      naveg = 0 
Note: See TracChangeset for help on using the changeset viewer.