Changeset 10932


Ignore:
Timestamp:
2019-05-05T21:45:27+02:00 (15 months ago)
Author:
clem
Message:

make sure a simulation can run when some parts of ice thermodynamics are deactivated (only for very specific use)

Location:
NEMO/trunk/src/ICE
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/src/ICE/icestp.F90

    r10926 r10932  
    189189         IF( ln_icethd )                CALL ice_thd( kt )            ! -- Ice thermodynamics       
    190190         ! 
    191          IF( ln_icethd )                CALL ice_cor( kt , 2 )        ! -- Corrections 
     191                                        CALL ice_cor( kt , 2 )        ! -- Corrections 
    192192         ! 
    193193                                        CALL ice_var_glo2eqv          ! necessary calls (at least for coupling) 
     
    431431      t_si       (:,:,:) = rt0   ! temp at the ice-snow interface 
    432432 
    433       tau_icebfr(:,:)   = 0._wp   ! landfast ice param only (clem: important to keep the init here) 
    434       cnd_ice   (:,:,:) = 0._wp   ! initialisation: effective conductivity at the top of ice/snow (ln_cndflx=T) 
    435       qcn_ice   (:,:,:) = 0._wp   ! initialisation: conductive flux (ln_cndflx=T & ln_cndemule=T) 
    436       qtr_ice_bot(:,:,:) = 0._wp  ! initialization: part of solar radiation transmitted through the ice needed at least for outputs 
     433      tau_icebfr (:,:)   = 0._wp   ! landfast ice param only (clem: important to keep the init here) 
     434      cnd_ice    (:,:,:) = 0._wp   ! initialisation: effective conductivity at the top of ice/snow (ln_cndflx=T) 
     435      qcn_ice    (:,:,:) = 0._wp   ! initialisation: conductive flux (ln_cndflx=T & ln_cndemule=T) 
     436      qtr_ice_bot(:,:,:) = 0._wp   ! initialization: part of solar radiation transmitted through the ice needed at least for outputs 
     437      qsb_ice_bot(:,:)   = 0._wp   ! (needed if ln_icethd=F) 
    437438      ! 
    438439      ! for control checks (ln_icediachk) 
  • NEMO/trunk/src/ICE/icethd.F90

    r10786 r10932  
    178178      ! In case we bypass open-water ice formation 
    179179      IF( .NOT. ln_icedO )  qlead(:,:) = 0._wp 
    180       ! In case we bypass growing/melting from top and bottom: we suppose ice is impermeable => ocean is isolated from atmosphere 
     180      ! In case we bypass growing/melting from top and bottom 
    181181      IF( .NOT. ln_icedH ) THEN 
    182          qt_atm_oi  (:,:) = ( 1._wp - at_i_b(:,:) ) * ( qns_oce(:,:) + qsr_oce(:,:) ) + qemp_oce(:,:) 
    183182         qsb_ice_bot(:,:) = 0._wp 
    184183         fhld       (:,:) = 0._wp 
     
    221220            dh_i_sub  (1:npti) = 0._wp ; dh_i_bog(1:npti) = 0._wp 
    222221            dh_snowice(1:npti) = 0._wp ; dh_s_mlt(1:npti) = 0._wp 
    223             ! 
    224             IF( ln_icedH ) THEN                                     ! --- growing/melting --- ! 
    225                               CALL ice_thd_zdf                             ! Ice/Snow Temperature profile 
    226                               CALL ice_thd_dh                              ! Ice/Snow thickness    
    227                               CALL ice_thd_pnd                             ! Melt ponds formation 
    228                               CALL ice_thd_ent( e_i_1d(1:npti,:) )         ! Ice enthalpy remapping 
     222            !                                       
     223                              CALL ice_thd_zdf                      ! --- Ice-Snow temperature --- ! 
     224            ! 
     225            IF( ln_icedH ) THEN                                     ! --- Growing/Melting --- ! 
     226                              CALL ice_thd_dh                           ! Ice-Snow thickness    
     227                              CALL ice_thd_pnd                          ! Melt ponds formation 
     228                              CALL ice_thd_ent( e_i_1d(1:npti,:) )      ! Ice enthalpy remapping 
    229229            ENDIF 
    230             ! 
    231230                              CALL ice_thd_sal( ln_icedS )          ! --- Ice salinity --- !     
    232231            ! 
    233                               CALL ice_thd_temp                     ! --- temperature update --- ! 
     232                              CALL ice_thd_temp                     ! --- Temperature update --- ! 
    234233            ! 
    235234            IF( ln_icedH .AND. ln_virtual_itd ) & 
    236                &              CALL ice_thd_mono                     ! --- extra lateral melting if virtual_itd --- ! 
    237             ! 
    238             IF( ln_icedA )    CALL ice_thd_da                       ! --- lateral melting --- ! 
     235               &              CALL ice_thd_mono                     ! --- Extra lateral melting if virtual_itd --- ! 
     236            ! 
     237            IF( ln_icedA )    CALL ice_thd_da                       ! --- Lateral melting --- ! 
    239238            ! 
    240239                              CALL ice_thd_1d2d( jl, 2 )            ! --- Change units of e_i, e_s from J/m3 to J/m2 --- ! 
    241240            !                                                       ! --- & Move to 2D arrays --- ! 
    242             ! 
    243241         ENDIF 
    244242         ! 
     
    247245      IF( ln_icediachk )   CALL ice_cons_hsm(1, 'icethd', rdiag_v, rdiag_s, rdiag_t, rdiag_fv, rdiag_fs, rdiag_ft) 
    248246      ! 
    249                            CALL ice_var_zapsmall           ! --- remove very small ice concentration (<1e-10) --- ! 
    250       !                                                    !     & make sure at_i=SUM(a_i) & ato_i=1 where at_i=0 
     247                              CALL ice_var_zapsmall                 ! --- remove very small ice concentration (<1e-10) --- ! 
     248      !                                                             !     & make sure at_i=sum(a_i) & ato_i=1 where at_i=0 
    251249      !                    
    252       IF( jpl > 1      )   CALL ice_itd_rem( kt )          ! --- Transport ice between thickness categories --- ! 
    253       ! 
    254       IF( ln_icedO     )   CALL ice_thd_do                 ! --- frazil ice growing in leads --- ! 
     250      IF( jpl > 1  )          CALL ice_itd_rem( kt )                ! --- Transport ice between thickness categories --- ! 
     251      ! 
     252      IF( ln_icedO )          CALL ice_thd_do                       ! --- Frazil ice growth in leads --- ! 
    255253      ! 
    256254      ! controls 
Note: See TracChangeset for help on using the changeset viewer.