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 921 for trunk/NEMO/LIM_SRC_3/limistate.F90 – NEMO

Ignore:
Timestamp:
2008-05-13T10:28:52+02:00 (16 years ago)
Author:
rblod
Message:

Correct indentation and print for debug in LIM3, see ticket #134, step I

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/LIM_SRC_3/limistate.F90

    r888 r921  
    8686         zvol, zare, zh, zh1, zh2, zh3, zan, zbn, zas, zbs  
    8787      !-------------------------------------------------------------------- 
    88   
     88 
    8989      !-------------------------------------------------------------------- 
    9090      ! 1) Preliminary things  
     
    113113      zs0 = 34.e0 
    114114      ztf = ABS ( rt0 - 0.0575       * zs0                               & 
    115                &                    + 1.710523e-03 * zs0 * SQRT( zs0 )   & 
    116                &                    - 2.154996e-04 * zs0 *zs0          ) 
     115         &                    + 1.710523e-03 * zs0 * SQRT( zs0 )   & 
     116         &                    - 2.154996e-04 * zs0 *zs0          ) 
    117117 
    118118      ! constants for heat contents 
     
    179179      ! ------------- 
    180180!!! 
    181 ! retour a LIMA_MEC 
    182 !     ! second ice type 
    183 !     zdummy  = hi_max(ice_cat_bounds(2,1)-1) 
    184 !     hi_max(ice_cat_bounds(2,1)-1) = 0.0 
    185  
    186 !     ! here to change !!!! 
    187 !     jm = 2 
    188 !     DO jl = ice_cat_bounds(jm,1), ice_cat_bounds(jm,2) 
    189 !        zhin (2)     = ( hi_max(jl-1) + hi_max(jl) ) / 2.0 
    190 !        zhin (2)     = ( hi_max_typ(jl-ice_cat_bounds(2,1),jm    ) + & 
    191 !                         hi_max_typ(jl-ice_cat_bounds(2,1) + 1,jm)   ) / 2.0 
    192 !        zgfactorn(2) = zgfactorn(2) + exp(-(zhin(2)-hginn_d)*(zhin(2)-hginn_d)/2.0) 
    193 !        zhis (2)     = ( hi_max(jl-1) + hi_max(jl) ) / 2.0 
    194 !        zhis (2)     = ( hi_max_typ(jl-ice_cat_bounds(2,1),jm    ) + & 
    195 !                         hi_max_typ(jl-ice_cat_bounds(2,1) + 1,jm)   ) / 2.0 
    196 !        zgfactors(2) = zgfactors(2) + exp(-(zhis(2)-hgins_d)*(zhis(2)-hgins_d)/2.0) 
    197 !     END DO ! jl 
    198 !     zgfactorn(2) = aginn_d / zgfactorn(2) 
    199 !     zgfactors(2) = agins_d / zgfactors(2) 
    200 !     hi_max(ice_cat_bounds(2,1)-1) = zdummy 
    201 ! END retour a LIMA_MEC 
     181      ! retour a LIMA_MEC 
     182      !     ! second ice type 
     183      !     zdummy  = hi_max(ice_cat_bounds(2,1)-1) 
     184      !     hi_max(ice_cat_bounds(2,1)-1) = 0.0 
     185 
     186      !     ! here to change !!!! 
     187      !     jm = 2 
     188      !     DO jl = ice_cat_bounds(jm,1), ice_cat_bounds(jm,2) 
     189      !        zhin (2)     = ( hi_max(jl-1) + hi_max(jl) ) / 2.0 
     190      !        zhin (2)     = ( hi_max_typ(jl-ice_cat_bounds(2,1),jm    ) + & 
     191      !                         hi_max_typ(jl-ice_cat_bounds(2,1) + 1,jm)   ) / 2.0 
     192      !        zgfactorn(2) = zgfactorn(2) + exp(-(zhin(2)-hginn_d)*(zhin(2)-hginn_d)/2.0) 
     193      !        zhis (2)     = ( hi_max(jl-1) + hi_max(jl) ) / 2.0 
     194      !        zhis (2)     = ( hi_max_typ(jl-ice_cat_bounds(2,1),jm    ) + & 
     195      !                         hi_max_typ(jl-ice_cat_bounds(2,1) + 1,jm)   ) / 2.0 
     196      !        zgfactors(2) = zgfactors(2) + exp(-(zhis(2)-hgins_d)*(zhis(2)-hgins_d)/2.0) 
     197      !     END DO ! jl 
     198      !     zgfactorn(2) = aginn_d / zgfactorn(2) 
     199      !     zgfactors(2) = agins_d / zgfactors(2) 
     200      !     hi_max(ice_cat_bounds(2,1)-1) = zdummy 
     201      ! END retour a LIMA_MEC 
    202202!!! 
    203203      DO jj = 1, jpj 
     
    228228                     zhin(1)          = ( hi_max(jl-1) + hi_max(jl) ) / 2.0 
    229229                     a_i(ji,jj,jl)    = zidto * MAX( zgfactorn(1) * exp(-(zhin(1)-hginn_u)* &  
    230                                             (zhin(1)-hginn_u)/2.0) , epsi06) 
     230                        (zhin(1)-hginn_u)/2.0) , epsi06) 
    231231                     ! new line 
    232232                     a_i(ji,jj,jl)    = zidto * ( zan * zhin(1) * zhin(1) + zbn * zhin(1) ) 
     
    239239 
    240240!!! 
    241 ! retour a LIMA_MEC 
    242 !              !ridged ice 
    243 !              zdummy  = hi_max(ice_cat_bounds(2,1)-1) 
    244 !              hi_max(ice_cat_bounds(2,1)-1) = 0.0 
    245 !              DO jl = ice_cat_bounds(2,1), ice_cat_bounds(2,2) ! loop over ice thickness categories 
    246 !                 zhin(2)          = ( hi_max(jl-1) + hi_max(jl) ) / 2.0 
    247 !                 a_i(ji,jj,jl)    = zidto * MAX( zgfactorn(2) * exp(-(zhin(2)-hginn_d)* & 
    248 !                                    (zhin(2)-hginn_d)/2.0) , epsi06) 
    249 !                 ht_i(ji,jj,jl)   = zidto * zhin(2)  
    250 !                 v_i(ji,jj,jl)    = ht_i(ji,jj,jl)*a_i(ji,jj,jl) 
    251 !              END DO 
    252 !              hi_max(ice_cat_bounds(2,1)-1) = zdummy 
    253  
    254 !              !rafted ice 
    255 !              jl = 6 
    256 !              a_i(ji,jj,jl)       = 0.0 
    257 !              ht_i(ji,jj,jl)      = 0.0 
    258 !              v_i(ji,jj,jl)       = 0.0 
    259 ! END retour a LIMA_MEC 
     241               ! retour a LIMA_MEC 
     242               !              !ridged ice 
     243               !              zdummy  = hi_max(ice_cat_bounds(2,1)-1) 
     244               !              hi_max(ice_cat_bounds(2,1)-1) = 0.0 
     245               !              DO jl = ice_cat_bounds(2,1), ice_cat_bounds(2,2) ! loop over ice thickness categories 
     246               !                 zhin(2)          = ( hi_max(jl-1) + hi_max(jl) ) / 2.0 
     247               !                 a_i(ji,jj,jl)    = zidto * MAX( zgfactorn(2) * exp(-(zhin(2)-hginn_d)* & 
     248               !                                    (zhin(2)-hginn_d)/2.0) , epsi06) 
     249               !                 ht_i(ji,jj,jl)   = zidto * zhin(2)  
     250               !                 v_i(ji,jj,jl)    = ht_i(ji,jj,jl)*a_i(ji,jj,jl) 
     251               !              END DO 
     252               !              hi_max(ice_cat_bounds(2,1)-1) = zdummy 
     253 
     254               !              !rafted ice 
     255               !              jl = 6 
     256               !              a_i(ji,jj,jl)       = 0.0 
     257               !              ht_i(ji,jj,jl)      = 0.0 
     258               !              v_i(ji,jj,jl)       = 0.0 
     259               ! END retour a LIMA_MEC 
    260260!!! 
    261261 
     
    279279                  o_i(ji,jj,jl)    = zidto * 1.0   + ( 1.0 - zidto ) 
    280280                  oa_i(ji,jj,jl)   = o_i(ji,jj,jl) * a_i(ji,jj,jl) 
    281                       
     281 
    282282                  !------------------------------ 
    283283                  ! Sea ice surface temperature 
     
    298298                     ! Multiply by volume, so that heat content in 10^9 Joules 
    299299                     e_s(ji,jj,jk,jl) = e_s(ji,jj,jk,jl) * area(ji,jj) * & 
    300                                         v_s(ji,jj,jl)  / nlay_s 
     300                        v_s(ji,jj,jl)  / nlay_s 
    301301                  END DO !jk 
    302302 
     
    309309                     s_i(ji,jj,jk,jl) = zidto * sinn + ( 1.0 - zidto ) * 0.1 
    310310                     ztmelts          = - tmut * s_i(ji,jj,jk,jl) + rtt !Melting temperature in K 
    311   
    312                   ! heat content per unit volume 
     311 
     312                     ! heat content per unit volume 
    313313                     e_i(ji,jj,jk,jl) = zidto * rhoic * & 
    314                      (   cpic    * ( ztmelts - t_i(ji,jj,jk,jl) ) & 
    315                      +   lfus    * ( 1.0 - (ztmelts-rtt) / MIN((t_i(ji,jj,jk,jl)-rtt),-zeps) ) & 
    316                      - rcp      * ( ztmelts - rtt ) & 
    317                      ) 
    318  
    319                   ! Correct dimensions to avoid big values 
     314                        (   cpic    * ( ztmelts - t_i(ji,jj,jk,jl) ) & 
     315                        +   lfus    * ( 1.0 - (ztmelts-rtt) / MIN((t_i(ji,jj,jk,jl)-rtt),-zeps) ) & 
     316                        - rcp      * ( ztmelts - rtt ) & 
     317                        ) 
     318 
     319                     ! Correct dimensions to avoid big values 
    320320                     e_i(ji,jj,jk,jl) = e_i(ji,jj,jk,jl) / unit_fac  
    321321 
    322                   ! Mutliply by ice volume, and divide by number of layers to get heat content in 10^9 J 
     322                     ! Mutliply by ice volume, and divide by number of layers to get heat content in 10^9 J 
    323323                     e_i(ji,jj,jk,jl) = e_i(ji,jj,jk,jl) * &  
    324                                   area(ji,jj) * a_i(ji,jj,jl) * ht_i(ji,jj,jl) / & 
    325                                   nlay_i 
     324                        area(ji,jj) * a_i(ji,jj,jl) * ht_i(ji,jj,jl) / & 
     325                        nlay_i 
    326326                  END DO ! jk 
    327327 
     
    330330            ELSE ! on fcor  
    331331 
    332             !--- Southern hemisphere 
    333             !---------------------------------------------------------------- 
     332               !--- Southern hemisphere 
     333               !---------------------------------------------------------------- 
    334334 
    335335               !----------------------- 
     
    346346 
    347347               ELSE ! several categories 
    348                 
    349                !level ice 
     348 
     349                  !level ice 
    350350                  DO jl = ice_cat_bounds(1,1), ice_cat_bounds(1,2) !over thickness categories 
    351351 
    352352                     zhis(1)       = ( hi_max(jl-1) + hi_max(jl) ) / 2.0 
    353353                     a_i(ji,jj,jl) = zidto * MAX( zgfactors(1) * exp(-(zhis(1)-hgins_u) * &  
    354                                         (zhis(1)-hgins_u)/2.0) , epsi06 ) 
     354                        (zhis(1)-hgins_u)/2.0) , epsi06 ) 
    355355                     ! new line square distribution volume conserving 
    356356                     a_i(ji,jj,jl)    = zidto * ( zas * zhis(1) * zhis(1) + zbs * zhis(1) ) 
    357357                     ht_i(ji,jj,jl)   = zidto * zhis(1)  
    358358                     v_i(ji,jj,jl)    = ht_i(ji,jj,jl)*a_i(ji,jj,jl) 
    359                    
     359 
    360360                  END DO ! jl 
    361361 
     
    363363 
    364364!!! 
    365 ! retour a LIMA_MEC 
    366 !              !ridged ice 
    367 !              zdummy  = hi_max(ice_cat_bounds(2,1)-1) 
    368 !              hi_max(ice_cat_bounds(2,1)-1) = 0.0 
    369 !              DO jl = ice_cat_bounds(2,1), ice_cat_bounds(2,2) !over thickness categories 
    370 !                 zhis(2)       = ( hi_max(jl-1) + hi_max(jl) ) / 2.0 
    371 !                 a_i(ji,jj,jl) = zidto*MAX( zgfactors(2) * exp(-(zhis(2)-hgins_d)*(zhis(2)-hgins_d)/2.0), epsi06 ) 
    372 !                 ht_i(ji,jj,jl)   = zidto * zhis(2)  
    373 !                 v_i(ji,jj,jl)    = ht_i(ji,jj,jl)*a_i(ji,jj,jl) 
    374 !              END DO 
    375 !              hi_max(ice_cat_bounds(2,1)-1) = zdummy 
    376  
    377 !              !rafted ice 
    378 !              jl = 6 
    379 !              a_i(ji,jj,jl)       = 0.0 
    380 !              ht_i(ji,jj,jl)      = 0.0 
    381 !              v_i(ji,jj,jl)       = 0.0 
    382 ! END retour a LIMA_MEC 
     365               ! retour a LIMA_MEC 
     366               !              !ridged ice 
     367               !              zdummy  = hi_max(ice_cat_bounds(2,1)-1) 
     368               !              hi_max(ice_cat_bounds(2,1)-1) = 0.0 
     369               !              DO jl = ice_cat_bounds(2,1), ice_cat_bounds(2,2) !over thickness categories 
     370               !                 zhis(2)       = ( hi_max(jl-1) + hi_max(jl) ) / 2.0 
     371               !                 a_i(ji,jj,jl) = zidto*MAX( zgfactors(2) * exp(-(zhis(2)-hgins_d)*(zhis(2)-hgins_d)/2.0), epsi06 ) 
     372               !                 ht_i(ji,jj,jl)   = zidto * zhis(2)  
     373               !                 v_i(ji,jj,jl)    = ht_i(ji,jj,jl)*a_i(ji,jj,jl) 
     374               !              END DO 
     375               !              hi_max(ice_cat_bounds(2,1)-1) = zdummy 
     376 
     377               !              !rafted ice 
     378               !              jl = 6 
     379               !              a_i(ji,jj,jl)       = 0.0 
     380               !              ht_i(ji,jj,jl)      = 0.0 
     381               !              v_i(ji,jj,jl)       = 0.0 
     382               ! END retour a LIMA_MEC 
    383383!!! 
    384384 
     
    424424                     ! Multiply by volume, so that heat content in 10^9 Joules 
    425425                     e_s(ji,jj,jk,jl) = e_s(ji,jj,jk,jl) * area(ji,jj) * & 
    426                                         v_s(ji,jj,jl)  / nlay_s 
     426                        v_s(ji,jj,jl)  / nlay_s 
    427427                  END DO 
    428428 
     
    435435                     s_i(ji,jj,jk,jl) = zidto * sins + ( 1.0 - zidto ) * 0.1 
    436436                     ztmelts          = - tmut * s_i(ji,jj,jk,jl) + rtt !Melting temperature in K 
    437   
    438                   ! heat content per unit volume 
     437 
     438                     ! heat content per unit volume 
    439439                     e_i(ji,jj,jk,jl) = zidto * rhoic * & 
    440                      (   cpic    * ( ztmelts - t_i(ji,jj,jk,jl) ) & 
    441                      +   lfus  * ( 1.0 - (ztmelts-rtt) / MIN((t_i(ji,jj,jk,jl)-rtt),-zeps) ) & 
    442                      - rcp      * ( ztmelts - rtt ) & 
    443                      ) 
    444  
    445                   ! Correct dimensions to avoid big values 
     440                        (   cpic    * ( ztmelts - t_i(ji,jj,jk,jl) ) & 
     441                        +   lfus  * ( 1.0 - (ztmelts-rtt) / MIN((t_i(ji,jj,jk,jl)-rtt),-zeps) ) & 
     442                        - rcp      * ( ztmelts - rtt ) & 
     443                        ) 
     444 
     445                     ! Correct dimensions to avoid big values 
    446446                     e_i(ji,jj,jk,jl) = e_i(ji,jj,jk,jl) / unit_fac  
    447447 
    448                   ! Mutliply by ice volume, and divide by number of layers to get heat content in 10^9 J 
     448                     ! Mutliply by ice volume, and divide by number of layers to get heat content in 10^9 J 
    449449                     e_i(ji,jj,jk,jl) = e_i(ji,jj,jk,jl) * &  
    450                                      area(ji,jj) * a_i(ji,jj,jl) * ht_i(ji,jj,jl) / & 
    451                                      nlay_i 
     450                        area(ji,jj) * a_i(ji,jj,jl) * ht_i(ji,jj,jl) / & 
     451                        nlay_i 
    452452                  END DO !jk 
    453453 
     
    549549      !!----------------------------------------------------------------------------- 
    550550      NAMELIST/namiceini/ ttest, hninn, hginn_u, aginn_u, hginn_d, aginn_d, hnins, & 
    551                           hgins_u, agins_u, hgins_d, agins_d, sinn, sins 
     551         hgins_u, agins_u, hgins_d, agins_d, sinn, sins 
    552552      !!----------------------------------------------------------------------------- 
    553553 
     
    576576         WRITE(numout,*) '   initial  ice salinity       in the south     sins       = ', sins 
    577577      ENDIF 
    578              
     578 
    579579   END SUBROUTINE lim_istate_init 
    580580 
Note: See TracChangeset for help on using the changeset viewer.