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 10425 for NEMO/trunk/src/TOP/TRP/trdmxl_trc.F90 – NEMO

Ignore:
Timestamp:
2018-12-19T22:54:16+01:00 (5 years ago)
Author:
smasson
Message:

trunk: merge back dev_r10164_HPC09_ESIWACE_PREP_MERGE@10424 into the trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/src/TOP/TRP/trdmxl_trc.F90

    r10068 r10425  
    6464         &      ndextrd1(jpi*jpj), nidtrd(jptra), nh_t(jptra),  STAT=trd_mxl_trc_alloc) 
    6565         ! 
    66       IF( lk_mpp                )   CALL mpp_sum ( trd_mxl_trc_alloc ) 
    67       IF( trd_mxl_trc_alloc /=0 )   CALL ctl_warn('trd_mxl_trc_alloc: failed to allocate arrays') 
     66      CALL mpp_sum ( 'trdmxl_trc', trd_mxl_trc_alloc ) 
     67      IF( trd_mxl_trc_alloc /=0 )   CALL ctl_stop( 'STOP', 'trd_mxl_trc_alloc: failed to allocate arrays' ) 
    6868      ! 
    6969   END FUNCTION trd_mxl_trc_alloc 
     
    290290            IF( ln_trdtrc(jn) ) THEN 
    291291               DO jl = 1, jpltrd_trc 
    292                   CALL lbc_lnk( tmltrd_trc(:,:,jl,jn), 'T', 1. )        ! lateral boundary conditions 
     292                  CALL lbc_lnk( 'trdmxl_trc', tmltrd_trc(:,:,jl,jn), 'T', 1. )        ! lateral boundary conditions 
    293293               END DO 
    294294            ENDIF 
     
    425425         !-- Lateral boundary conditions 
    426426               IF ( cn_cfg .NE. 'gyre' ) THEN 
    427                   CALL lbc_lnk_multi( ztmltot(:,:,jn) , 'T', 1. , ztmlres(:,:,jn) , 'T', 1., & 
     427                  CALL lbc_lnk_multi( 'trdmxl_trc', ztmltot(:,:,jn) , 'T', 1. , ztmlres(:,:,jn) , 'T', 1., & 
    428428                     &                ztmlatf(:,:,jn) , 'T', 1. , ztmlrad(:,:,jn) , 'T', 1. ) 
    429429               ENDIF 
     
    476476         !-- Lateral boundary conditions  
    477477               IF ( cn_cfg .NE. 'gyre' ) THEN            ! other than GYRE configuration     
    478                   CALL lbc_lnk_multi( ztmltot2(:,:,jn), 'T', 1., ztmlres2(:,:,jn), 'T', 1. ) 
     478                  CALL lbc_lnk_multi( 'trdmxl_trc', ztmltot2(:,:,jn), 'T', 1., ztmlres2(:,:,jn), 'T', 1. ) 
    479479                  DO jl = 1, jpltrd_trc 
    480                      CALL lbc_lnk( ztmltrd2(:,:,jl,jn), 'T', 1. )       ! will be output in the NetCDF trends file 
     480                     CALL lbc_lnk( 'trdmxl_trc', ztmltrd2(:,:,jl,jn), 'T', 1. )       ! will be output in the NetCDF trends file 
    481481                  END DO 
    482482               ENDIF 
     
    776776 
    777777      IF( ( lk_trdmxl_trc ) .AND. ( MOD( nitend-nittrc000+1, nn_trd_trc ) /= 0 ) ) THEN 
    778          WRITE(numout,cform_err) 
    779          WRITE(numout,*) '                Your nitend parameter, nitend = ', nitend 
    780          WRITE(numout,*) '                is no multiple of the trends diagnostics frequency        ' 
    781          WRITE(numout,*) '                          you defined, nn_trd_trc   = ', nn_trd_trc 
    782          WRITE(numout,*) '                This will not allow you to restart from this simulation.  ' 
    783          WRITE(numout,*) '                You should reconsider this choice.                        '  
    784          WRITE(numout,*)  
    785          WRITE(numout,*) '                N.B. the nitend parameter is also constrained to be a     ' 
    786          WRITE(numout,*) '                multiple of the sea-ice frequency parameter (typically 5) ' 
    787          nstop = nstop + 1 
     778         WRITE(ctmp1,*) '                Your nitend parameter, nitend = ', nitend 
     779         WRITE(ctmp2,*) '                is no multiple of the trends diagnostics frequency        ' 
     780         WRITE(ctmp3,*) '                          you defined, nn_trd_trc   = ', nn_trd_trc 
     781         WRITE(ctmp4,*) '                This will not allow you to restart from this simulation.  ' 
     782         WRITE(ctmp5,*) '                You should reconsider this choice.                        '  
     783         WRITE(ctmp6,*)  
     784         WRITE(ctmp7,*) '                N.B. the nitend parameter is also constrained to be a     ' 
     785         WRITE(ctmp8,*) '                multiple of the sea-ice frequency parameter (typically 5) ' 
     786         CALL ctl_stop( ctmp1, ctmp2, ctmp3, ctmp4, ctmp5, ctmp6, ctmp7, ctmp8 ) 
    788787      ENDIF 
    789788 
     
    795794 
    796795      IF( ( ln_trcadv_muscl .OR. ln_trcadv_muscl2 ) .AND. .NOT. ln_trdmxl_trc_instant ) THEN 
    797          WRITE(numout,cform_err) 
    798          WRITE(numout,*) '                Currently, you can NOT use simultaneously tracer MUSCL    ' 
    799          WRITE(numout,*) '                advection and window averaged diagnostics of ML trends.   ' 
    800          WRITE(numout,*) '                WHY? Everything in trdmxl_trc is coded for leap-frog, and ' 
    801          WRITE(numout,*) '                MUSCL scheme is Euler forward for passive tracers (note   ' 
    802          WRITE(numout,*) '                that MUSCL is leap-frog for active tracers T/S).          ' 
    803          WRITE(numout,*) '                In particuliar, entrainment trend would be FALSE. However ' 
    804          WRITE(numout,*) '                this residual is correct for instantaneous ML diagnostics.' 
    805          WRITE(numout,*)  
    806          nstop = nstop + 1 
     796         WRITE(ctmp1,*) '                Currently, you can NOT use simultaneously tracer MUSCL    ' 
     797         WRITE(ctmp2,*) '                advection and window averaged diagnostics of ML trends.   ' 
     798         WRITE(ctmp3,*) '                WHY? Everything in trdmxl_trc is coded for leap-frog, and ' 
     799         WRITE(ctmp4,*) '                MUSCL scheme is Euler forward for passive tracers (note   ' 
     800         WRITE(ctmp5,*) '                that MUSCL is leap-frog for active tracers T/S).          ' 
     801         WRITE(ctmp6,*) '                In particuliar, entrainment trend would be FALSE. However ' 
     802         WRITE(ctmp7,*) '                this residual is correct for instantaneous ML diagnostics.' 
     803         CALL ctl_stop( ctmp1, ctmp2, ctmp3, ctmp4, ctmp5, ctmp6, ctmp7 ) 
    807804      ENDIF 
    808805 
Note: See TracChangeset for help on using the changeset viewer.