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 15446 – NEMO

Changeset 15446


Ignore:
Timestamp:
2021-10-26T16:34:38+02:00 (10 months ago)
Author:
cetlod
Message:

Minor bugfixes mostly related to PISCES/SED module

Location:
NEMO/trunk/src
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/src/OFF/nemogcm.F90

    r15267 r15446  
    122122      !  
    123123      DO WHILE ( istp <= nitend .AND. nstop == 0 )    !==  OFF time-stepping  ==! 
    124  
    125124         IF( ln_timing ) THEN 
    126125            zstptiming = MPI_Wtime() 
     
    152151         Naa  = Nrhs 
    153152         ! 
    154 #if ! defined key_qco 
     153# if ! defined key_qco 
    155154         IF( .NOT.ln_linssh )   CALL dta_dyn_sf_interp( istp, Nnn )  ! calculate now grid parameters 
    156 #endif   
     155# endif   
    157156 
    158157#else 
    159158                                CALL dta_dyn_sed( istp,      Nnn      )       ! Interpolation of the dynamical fields 
    160  
     159                                CALL trc_stp    ( istp, Nbb, Nnn, Nrhs, Naa ) ! time-stepping 
     160         ! Swap time levels 
     161         Nnn = Nbb 
     162         Naa = Nbb 
    161163#endif 
    162164         CALL stp_ctl    ( istp )             ! Time loop: control and print 
  • NEMO/trunk/src/TOP/trcais.F90

    r15090 r15446  
    7070      ENDIF 
    7171      !  
    72       IF (.NOT. ln_rnf_icb) THEN 
     72      IF( .NOT. ln_rnf_icb ) THEN 
    7373         CALL ctl_stop( 'trc_ais_ini: no iceberg freswater flux in runoff file' )   ;  RETURN 
    7474      ENDIF 
  • NEMO/trunk/src/TOP/trcbc.F90

    r14215 r15446  
    439439            IF( l_offline )   rn_rfact = 1._wp 
    440440            jl = n_trc_indcbc(jn) 
     441            sf_trccbc(jl)%fnow(:,:,1) = MAX( rtrn, sf_trccbc(jl)%fnow(:,:,1) ) ! avoid nedgative value due to interpolation 
    441442            DO_2D( 0, 0, 0, 1 ) 
    442443               DO jk = 1, nk_rnf(ji,jj) 
    443                   zfact = rn_rfact / ( e1e2t(ji,jj) * h_rnf(ji,jj) * rn_cbc_time ) * tmask(ji,jj,1) 
     444                  zfact = rn_rfact / ( e1e2t(ji,jj) * h_rnf(ji,jj) * rn_cbc_time )  
    444445                  ptr(ji,jj,jk,jn,Krhs) = ptr(ji,jj,jk,jn,Krhs) + rf_trcfac(jl) * sf_trccbc(jl)%fnow(ji,jj,1) * zfact 
    445446               END DO 
  • NEMO/trunk/src/TOP/trcdta.F90

    r14834 r15446  
    189189         ptrcdta(:,:,:) = sf_trcdta(kjl)%fnow(:,:,:) * tmask(:,:,:) 
    190190         !  
     191#if ! defined key_sed_off 
    191192         IF( ln_sco ) THEN                !== s- or mixed s-zps-coordinate  ==! 
    192193            ! 
     
    220221            ! zps-coordinate (partial steps) interpolation at the last ocean level 
    221222            IF( ln_zps ) THEN 
    222                 DO_2D( nn_hls, nn_hls, nn_hls, nn_hls )  
     223                DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 
    223224                   ik = mbkt(ji,jj) 
    224                    IF( ik > 1 ) THEN 
     225                   IF( ik > 1 .AND. gdept_0(ji,jj,ik) < gdept_1d(ik) ) THEN 
    225226                      zl = ( gdept_1d(ik) - gdept_0(ji,jj,ik) ) / ( gdept_1d(ik) - gdept_1d(ik-1) ) 
    226227                      ptrcdta(ji,jj,ik) = (1.-zl) * ptrcdta(ji,jj,ik) + zl * ptrcdta(ji,jj,ik-1) 
     
    235236            ! 
    236237         ENDIF 
     238#endif 
    237239         ! Scale by multiplicative factor 
    238240         ptrcdta(:,:,:) = ptrcdta(:,:,:) * rf_trfac(kjl) 
  • NEMO/trunk/src/TOP/trcini.F90

    r14227 r15446  
    244244      ! 
    245245      IF( ln_trcdta )   CALL trc_dta_ini( jptra )           ! set initial tracers values 
    246       ! 
    247       IF( ln_trcbc .AND. lltrcbc )  THEN  
    248         CALL trc_bc_ini ( jptra, Kmm  )            ! set tracers Boundary Conditions 
    249         CALL trc_bc     ( nit000, Kmm, tr, Kaa )   ! tracers: surface and lateral Boundary Conditions 
    250       ENDIF 
    251       ! 
    252       IF( ln_trcais ) CALL trc_ais_ini   ! set tracers from Antarctic Ice Sheet 
    253246      ! 
    254247      IF( ln_rsttr ) THEN              ! restart from a file 
     
    273266      ! 
    274267      tr(:,:,:,:,Kaa) = 0._wp 
     268      ! 
     269      IF( ln_trcbc .AND. lltrcbc )  THEN 
     270        CALL trc_bc_ini ( jptra, Kmm  )            ! set tracers Boundary Conditions 
     271        CALL trc_bc     ( nit000, Kmm, tr, Kaa )   ! tracers: surface and lateral Boundary Conditions 
     272      ENDIF 
     273      ! 
     274      IF( ln_trcais ) CALL trc_ais_ini   ! set tracers from Antarctic Ice Sheet 
    275275      !                                                         ! Partial top/bottom cell: GRADh(tr(Kmm)) 
    276276   END SUBROUTINE trc_ini_state 
  • NEMO/trunk/src/TOP/trcstp.F90

    r14086 r15446  
    102102      CALL trc_wri      ( kt,      Kmm            )       ! output of passive tracers with iom I/O manager 
    103103      CALL trc_sms      ( kt, Kbb, Kmm, Krhs      )       ! tracers: sinks and sources 
     104#if ! defined key_sed_off 
    104105      CALL trc_trp      ( kt, Kbb, Kmm, Krhs, Kaa )       ! transport of passive tracers 
     106#endif 
    105107           ! 
    106108           ! Note passive tracers have been time-filtered in trc_trp but the time level 
Note: See TracChangeset for help on using the changeset viewer.