Changeset 10425 for NEMO/trunk/src/TOP/TRP/trdmxl_trc.F90
- Timestamp:
- 2018-12-19T22:54:16+01:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/src/TOP/TRP/trdmxl_trc.F90
r10068 r10425 64 64 & ndextrd1(jpi*jpj), nidtrd(jptra), nh_t(jptra), STAT=trd_mxl_trc_alloc) 65 65 ! 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' ) 68 68 ! 69 69 END FUNCTION trd_mxl_trc_alloc … … 290 290 IF( ln_trdtrc(jn) ) THEN 291 291 DO jl = 1, jpltrd_trc 292 CALL lbc_lnk( tmltrd_trc(:,:,jl,jn), 'T', 1. ) ! lateral boundary conditions292 CALL lbc_lnk( 'trdmxl_trc', tmltrd_trc(:,:,jl,jn), 'T', 1. ) ! lateral boundary conditions 293 293 END DO 294 294 ENDIF … … 425 425 !-- Lateral boundary conditions 426 426 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., & 428 428 & ztmlatf(:,:,jn) , 'T', 1. , ztmlrad(:,:,jn) , 'T', 1. ) 429 429 ENDIF … … 476 476 !-- Lateral boundary conditions 477 477 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. ) 479 479 DO jl = 1, jpltrd_trc 480 CALL lbc_lnk( ztmltrd2(:,:,jl,jn), 'T', 1. ) ! will be output in the NetCDF trends file480 CALL lbc_lnk( 'trdmxl_trc', ztmltrd2(:,:,jl,jn), 'T', 1. ) ! will be output in the NetCDF trends file 481 481 END DO 482 482 ENDIF … … 776 776 777 777 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 ) 788 787 ENDIF 789 788 … … 795 794 796 795 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 ) 807 804 ENDIF 808 805
Note: See TracChangeset
for help on using the changeset viewer.