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

Ignore:
Timestamp:
2009-08-03T16:24:31+02:00 (15 years ago)
Author:
ctlod
Message:

Correct 3 bugs in LIM-3, see ticket: #505

File:
1 edited

Legend:

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

    r1465 r1571  
    104104 
    105105      REAL(wp) ::            & 
     106         zzfmass_i ,         & 
     107         zzfmass_s ,         & 
    106108         zhsnew    ,         &  !: new snow thickness 
    107109         zihgnew   ,         &  !: switch for total ablation 
     
    141143      REAL(wp) , DIMENSION(jpij) :: & 
    142144         z_f_surf,           &  ! surface heat for ablation 
    143          zhgnew                 ! new ice thickness 
     145         zhgnew  ,           &  ! new ice thickness 
     146         zfmass_i 
    144147 
    145148      REAL(wp), DIMENSION(jpij) :: & 
     
    302305            - zdh_s_mel(ji) ) 
    303306         dvsbq_1d(ji)   =  MIN( zzero, dvsbq_1d(ji) ) 
    304          rdmsnif_1d(ji) =  rhosn*dvsbq_1d(ji) 
     307         rdmsnif_1d(ji) =  rdmsnif_1d(ji) + rhosn * dvsbq_1d(ji) 
    305308      END DO ! ji 
    306309 
     
    669672         ! Mass variations of ice and snow 
    670673         !--------------------------------- 
    671          rdmicif_1d(ji) =  rdmicif_1d(ji) + a_i_b(ji) *                        & 
    672             (zhgnew(ji)-ht_i_b(ji))*rhoic ! good 
    673  
    674          rdmsnif_1d(ji) =  rdmsnif_1d(ji) + a_i_b(ji) * & 
    675             (ht_s_b(ji)-zhni)*rhosn ! good too 
     674         ! 
     675         zzfmass_s = - a_i_b(ji) * ( zhni       - ht_s_b(ji) ) * rhosn   ! snow 
     676         zzfmass_i =   a_i_b(ji) * ( zhgnew(ji) - ht_i_b(ji) ) * rhoic   ! ice   
     677         ! 
     678         zfmass_i(ji) = zzfmass_i                       ! ice variation saved to compute salt flux (see below) 
     679         ! 
     680         !                                              ! mass variation cumulated over category 
     681         rdmsnif_1d(ji) = rdmsnif_1d(ji) + zzfmass_s                     ! snow  
     682         rdmicif_1d(ji) = rdmicif_1d(ji) + zzfmass_i                     ! ice  
    676683 
    677684         ! Remaining heat to the ocean  
     
    695702         IF ( num_sal .NE. 4 ) & 
    696703            fseqv_1d(ji)  = fseqv_1d(ji) + zihgnew * zfsalt_melt(ji) +           & 
    697             (1.0 - zihgnew) * rdmicif_1d(ji) *                  & 
     704            (1.0 - zihgnew) * zfmass_i(ji) *                  & 
    698705            ( sss_m(zji,zjj) - sm_i_b(ji) ) / rdt_ice 
    699706         ! new lines 
    700707         IF ( num_sal .EQ. 4 ) & 
    701708            fseqv_1d(ji)  = fseqv_1d(ji) + zihgnew * zfsalt_melt(ji) +           & 
    702             (1.0 - zihgnew) * rdmicif_1d(ji) *                  & 
     709            (1.0 - zihgnew) * zfmass_i(ji) *                  & 
    703710            ( sss_m(zji,zjj) - bulk_sal ) / rdt_ice 
    704711         ! Heat flux 
Note: See TracChangeset for help on using the changeset viewer.