Ignore:
Timestamp:
2019-09-10T11:49:13+02:00 (2 years ago)
Author:
mathiot
Message:

ENHANCE-02_ISF: fix issue with ice sheet coupling and conservation + other minor changes (ticket #2142)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE/ISF/isfstp.F90

    r11489 r11521  
    3333   USE isfcpl         ! isf variables 
    3434   USE isf            ! isf variables 
     35   USE isfutils 
    3536 
    3637   IMPLICIT NONE 
     
    103104      END IF 
    104105 
    105       IF ( ln_isfcpl ) THEN 
     106      IF ( ll_isfcpl ) THEN 
     107 
    106108         IF (lrst_oce) CALL isfcpl_rst_write(kt) 
     109 
    107110      END IF 
    108111      ! 
     
    181184            WRITE(numout,*) '' 
    182185            ! 
    183             WRITE(numout,*) '      Coupling to an ice sheet model          ln_isfcpl         = ', ln_isfcpl 
    184             IF ( ln_isfcpl ) THEN 
    185                WRITE(numout,*) '         conservation activated ln_isfcpl_cons           = ', ln_isfcpl_cons 
    186                WRITE(numout,*) '            number of call of the extrapolation loop = ', nn_drown 
    187             ENDIF 
    188             ! 
    189             WRITE(numout,*) '      Ice shelf load method                   cn_isfload        = ', TRIM(cn_isfload) 
    190186         ELSE 
    191187            IF ( ln_isfcav ) THEN 
     
    196192         END IF 
    197193 
     194         WRITE(numout,*) '      Coupling to an ice sheet model          ln_isfcpl         = ', ln_isfcpl 
     195         IF ( ln_isfcpl ) THEN 
     196            WRITE(numout,*) '         conservation activated ln_isfcpl_cons           = ', ln_isfcpl_cons 
     197            WRITE(numout,*) '            number of call of the extrapolation loop = ', nn_drown 
     198         ENDIF 
     199         ! 
     200         IF (ln_isfcav) WRITE(numout,*) '      Ice shelf load method                   cn_isfload        = ', TRIM(cn_isfload) 
     201         WRITE(numout,*) '' 
     202 
    198203      END IF 
    199204      ! 
     
    244249      ! 
    245250      ! terminate routine now if no ice shelf melt formulation specify 
    246       IF ( .NOT. ln_isf ) RETURN 
    247       ! 
    248       ! initialisation useful variable 
    249       r1_Lfusisf =  1._wp / rLfusisf 
     251      IF ( ln_isf ) THEN 
     252         ! 
     253         ! initialisation useful variable 
     254         r1_Lfusisf =  1._wp / rLfusisf 
     255         ! 
     256         ! initialisation melt in the cavity 
     257         IF ( ln_isfcav_mlt ) THEN 
     258            ! 
     259            ! initialisation  of cav variable 
     260            CALL isf_cav_init() 
     261            ! 
     262            ! read cav variable from restart 
     263            IF ( ln_rstart ) CALL isfrst_read('cav', risf_cav_tsc, fwfisf_cav, risf_cav_tsc_b, fwfisf_cav_b) 
     264            ! 
     265         END IF 
     266         ! 
     267         !--------------------------------------------------------------------------------------------------------------------- 
     268         ! initialisation parametrised melt 
     269         IF ( ln_isfpar_mlt ) THEN 
     270            ! 
     271            ! initialisation  of par variable 
     272            CALL isf_par_init() 
     273            ! 
     274            ! read par variable from restart 
     275            IF ( ln_rstart ) CALL isfrst_read('par', risf_par_tsc, fwfisf_par, risf_par_tsc_b, fwfisf_par_b) 
     276            ! 
     277         END IF 
     278      END IF 
     279      ! 
     280      !--------------------------------------------------------------------------------------------------------------------- 
     281      ! initialisation ice sheet coupling 
    250282      ! 
    251283      ll_isfcpl     = .FALSE. 
    252284      ll_isfcpl_cons= .FALSE. 
    253285      ! 
    254       ! initialisation melt in the cavity 
    255       IF ( ln_isfcav_mlt ) THEN 
    256          ! 
    257          ! initialisation  of cav variable 
    258          CALL isf_cav_init() 
    259          ! 
    260          ! read cav variable from restart 
    261          IF ( ln_rstart ) CALL isfrst_read('cav', risf_cav_tsc, fwfisf_cav, risf_cav_tsc_b, fwfisf_cav_b) 
    262          ! 
    263       END IF 
    264       ! 
    265       !--------------------------------------------------------------------------------------------------------------------- 
    266       ! initialisation parametrised melt 
    267       IF ( ln_isfpar_mlt ) THEN 
    268          ! 
    269          ! initialisation  of par variable 
    270          CALL isf_par_init() 
    271          ! 
    272          ! read par variable from restart 
    273          IF ( ln_rstart ) CALL isfrst_read('par', risf_par_tsc, fwfisf_par, risf_par_tsc_b, fwfisf_par_b) 
    274          ! 
    275       END IF 
    276       ! 
    277       !--------------------------------------------------------------------------------------------------------------------- 
    278       ! initialisation ice sheet coupling 
    279286      IF( ln_isfcpl ) THEN 
    280287 
Note: See TracChangeset for help on using the changeset viewer.