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 15351 for NEMO/branches/2021 – NEMO

Changeset 15351 for NEMO/branches/2021


Ignore:
Timestamp:
2021-10-11T15:53:53+02:00 (3 years ago)
Author:
cetlod
Message:

dev_PISCO : minor bugfix

Location:
NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/src/TOP/PISCES
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/src/TOP/PISCES/P4Z/p4zbc.F90

    r15127 r15351  
    101101         ! Atmospheric input of Iron dissolves in the water column 
    102102         IF ( ln_trc_sbc(jpfer) ) THEN 
    103             DO_3D( 1, 1, 1, 1, 2, jpkm1 ) 
     103            DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 2, jpkm1 ) 
    104104               zdustdep = dust(ji,jj) * zwdust * rfact * EXP( -gdept(ji,jj,jk,Kmm) /( 250. * wdust ) ) 
    105105               ! 
     
    118118         ! Atmospheric input of PO4 dissolves in the water column 
    119119         IF ( ln_trc_sbc(jppo4) ) THEN 
    120             DO_3D( 1, 1, 1, 1, 2, jpkm1 ) 
     120            DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 2, jpkm1 ) 
    121121               zdustdep = dust(ji,jj) * zwdust * rfact * EXP( -gdept(ji,jj,jk,Kmm) /( 250. * wdust ) ) 
    122122               ! 
     
    127127         ! Atmospheric input of Si dissolves in the water column 
    128128         IF ( ln_trc_sbc(jpsil) ) THEN 
    129             DO_3D( 1, 1, 1, 1, 2, jpkm1 ) 
     129            DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 2, jpkm1 ) 
    130130               zdustdep = dust(ji,jj) * zwdust * rfact * EXP( -gdept(ji,jj,jk,Kmm) /( 250. * wdust ) ) 
    131131               ! 
     
    160160         IF( ln_trc_sbc(jpno3) ) THEN 
    161161            jl = n_trc_indsbc(jpno3) 
    162             DO_2D( 1, 1, 1, 1 ) 
     162            DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 
    163163               zndep = rf_trsfac(jl) * sf_trcsbc(jl)%fnow(ji,jj,1) / e3t(ji,jj,1,Kmm) / rn_sbc_time 
    164164               tr(ji,jj,1,jptal,Krhs) = tr(ji,jj,1,jptal,Krhs) - rno3 * zndep * rfact 
     
    167167         IF( ln_trc_sbc(jpnh4) ) THEN 
    168168            jl = n_trc_indsbc(jpnh4) 
    169             DO_2D( 1, 1, 1, 1 ) 
     169            DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 
    170170               zndep = rf_trsfac(jl) * sf_trcsbc(jl)%fnow(ji,jj,1) / e3t(ji,jj,1,Kmm) / rn_sbc_time 
    171171               tr(ji,jj,1,jptal,Krhs) = tr(ji,jj,1,jptal,Krhs) + rno3 * zndep * rfact 
  • NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/src/TOP/PISCES/P4Z/p4zint.F90

    r15127 r15351  
    7575      ! day length in hours 
    7676      strn(:,:) = 0. 
    77       DO_2D( 1, 1, 1, 1 ) 
     77      DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 
    7878         zargu = TAN( zcodel ) * TAN( gphit(ji,jj) * rad ) 
    7979         zargu = MAX( -1., MIN(  1., zargu ) ) 
     
    8181      END_2D 
    8282      ! 
    83       DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
     83      DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) 
    8484        ! denitrification factor computed from O2 levels 
    8585         ! This factor diagnoses below which level of O2 denitrification 
  • NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/src/TOP/PISCES/P4Z/p4zlim.F90

    r15127 r15351  
    220220      ! Assumes that larger biomass implies addition of larger cells 
    221221      ! ------------------------------------------------------------ 
    222       DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
     222      DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1) 
    223223         zcoef = tr(ji,jj,jk,jpphy,Kbb) - MIN(xsizephy, tr(ji,jj,jk,jpphy,Kbb) ) 
    224224         sizena(ji,jj,jk) = 1. + ( xsizern -1.0 ) * zcoef / ( xsizephy + zcoef ) 
  • NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/src/TOP/PISCES/P4Z/p4zopt.F90

    r15127 r15351  
    372372         pe3(:,:,1) = zqsr(:,:) 
    373373         ! 
    374          DO_3D( 1, 1, 1, 1, 2, nksr + 1 ) 
     374         DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 2, nksr + 1) 
    375375            pe0(ji,jj,jk) = pe0(ji,jj,jk-1) * EXP( -e3t(ji,jj,jk-1,Kmm) * xsi0r ) 
    376376            pe1(ji,jj,jk) = pe1(ji,jj,jk-1) * EXP( -ekb  (ji,jj,jk-1 )        ) 
  • NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/src/TOP/PISCES/P4Z/p5zmeso.F90

    r15127 r15351  
    428428          ! the fluxes driven by mesozooplankton in the euphotic zone. 
    429429          ! -------------------------------------------------------------------- 
    430           DO_3D( 1, 1, 1, 1, 1, jpkm1 )         
     430          DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1) 
    431431             zmigreltime = (1. - strn(ji,jj)) 
    432432             IF( gdept(ji,jj,jk,Kmm) <= heup(ji,jj) ) THEN 
     
    461461          ! the migration depth (corresponding indice is set by kmig) 
    462462          ! -------------------------------------------------------------------------------- 
    463           DO_2D( 1, 1, 1, 1 ) 
     463          DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 
    464464             IF( tmask(ji,jj,1) == 1. ) THEN 
    465465                 jkt = kmig(ji,jj) 
     
    491491        !   nutrients, DOC agands, and particulate organic carbon).  
    492492        !   --------------------------------------------------------------------- 
    493       DO_3D( 1, 1, 1, 1, 1, jpkm1 )         
     493      DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1) 
    494494         tr(ji,jj,jk,jppo4,Krhs) = tr(ji,jj,jk,jppo4,Krhs) + zgrarep(ji,jj,jk)  
    495495         tr(ji,jj,jk,jpnh4,Krhs) = tr(ji,jj,jk,jpnh4,Krhs) + zgraren(ji,jj,jk) 
     
    627627      ! 150m to 500 m depth. 
    628628      ! ------------------------------------------------------------------ 
    629       DO_3D( 1, 1, 1, 1, 1, jpk ) 
     629      DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpk ) 
    630630         IF( tmask(ji,jj,jk) == 1.) THEN 
    631631            IF( gdept(ji,jj,jk,Kmm) >= 150. .AND. gdept(ji,jj,jk,kmm) <= 500.) THEN 
     
    640640      ! domain 
    641641      ! ------------------------------------------------------------------------------------ 
    642       DO_2D( 1, 1, 1, 1 ) 
     642      DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 
    643643         z1dep = 1. / ( zdepmoy(ji,jj) + rtrn ) 
    644644         oxymoy(ji,jj)  = tr(ji,jj,1,jpoxy,Kbb) * 1E6 - oxymoy(ji,jj)  * z1dep 
     
    649649      ! Bianchi et al. (2013) 
    650650      ! ------------------------------------------------------------------- 
    651       DO_2D( 1, 1, 1, 1 ) 
     651      DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 
    652652         IF( tmask(ji,jj,1) == 1. ) THEN 
    653653            ztotchl = ( tr(ji,jj,1,jppch,Kbb) + tr(ji,jj,1,jpnch,Kbb) + tr(ji,jj,1,jpdch,Kbb) ) * 1E6 
     
    658658            ! Computation of the corresponding jk indice  
    659659      ! ------------------------------------------ 
    660       DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
     660      DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) 
    661661         IF( depmig(ji,jj) >= gdepw(ji,jj,jk,Kmm) .AND. depmig(ji,jj) < gdepw(ji,jj,jk+1,Kmm) ) THEN 
    662662             kmig(ji,jj) = jk 
     
    670670      ! that it falls above the OMZ 
    671671      ! ----------------------------------------------------------------------- 
    672       DO_2D( 1, 1, 1, 1 ) 
     672      DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 
    673673         IF( tr(ji,jj,kmig(ji,jj),jpoxy,Kbb) < 5E-6 ) THEN 
    674674            DO jk = kmig(ji,jj),1,-1 
  • NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/src/TOP/PISCES/SED/sedchem.F90

    r15349 r15351  
    139139         CALL sed_chem_cst 
    140140      ELSE 
    141          DO_2D( 1, 1, 1, 1 ) 
     141         DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 
    142142            ikt = mbkt(ji,jj)  
    143143            IF ( tmask(ji,jj,ikt) == 1 ) THEN 
  • NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/src/TOP/PISCES/SED/sedsfc.F90

    r15075 r15351  
    4949      CALL unpack_arr ( jpoce, trc_data(1:jpi,1:jpj,9), iarroce(1:jpoce), pwcp(1:jpoce,1,jwlgw) ) 
    5050 
    51  
    52       DO_2D( 1, 1, 1, 1 ) 
     51      DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 
    5352         ikt = mbkt(ji,jj) 
    5453         IF ( tmask(ji,jj,ikt) == 1 ) THEN 
  • NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/src/TOP/PISCES/SED/sedsol.F90

    r15297 r15351  
    1717   USE sedmat 
    1818   USE sedorg 
    19    USE tros 
     19# if ! defined key_agrif 
     20   USE trosk 
     21#endif 
    2022   USE lib_mpp         ! distribued memory computing library 
    2123   USE lib_fortran 
     
    5860      INTEGER  :: ji, jk, js, jw, jn, neq   ! dummy looop indices 
    5961      REAL(wp), DIMENSION( jpoce, jpvode * jpksed ) :: ZXIN, FVAL 
     62# if ! defined key_agrif       
    6063      REAL(wp), DIMENSION(jpoce,jpksed) :: preac 
    6164      INTEGER :: JINDEX, ITOL, IJAC, MLJAC, IMAX 
     
    6972      INTEGER, DIMENSION(jpoce,3)   :: ISTAT 
    7073      REAL(wp), DIMENSION(jpoce,2)  :: RSTAT 
     74#endif       
    7175      !! 
    7276      !!---------------------------------------------------------------------- 
     
    161165      CALL sed_co3( kt ) 
    162166 
     167# if ! defined key_agrif 
    163168      ! The following part deals with the stiff ODEs 
    164169      ! This is the expensive part of the code and should be carefully 
     
    227232 
    228233      DEALLOCATE( WORK ) 
     234#endif 
    229235 
    230236      preac(:,:) = 0. 
  • NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/src/TOP/PISCES/SED/trosk.F90

    r15297 r15351  
    1 MODULE TROS 
     1MODULE trosk 
     2# if ! defined key_agrif 
    23!**************************************************************** 
    34!* NUMERICAL SOLUTION OF A STIFF SYSTEM OF FIRST 0RDER ORDINARY * 
     
    1920  PRIVATE  
    2021 
    21   PUBLIC ROSK 
     22  PUBLIC rosk 
    2223 
    2324  INTEGER, ALLOCATABLE, SAVE, DIMENSION(:) :: NFCN, NJAC, NSTEP, NACCPT, NREJCT, NDEC, NSOL 
     
    3839 
    3940!********************************************************************** 
    40 SUBROUTINE ROSK(ROSM,N,X,Y,XEND,H, RTOL,ATOL,ITOL,                  & 
     41SUBROUTINE rosk(ROSM,N,X,Y,XEND,H, RTOL,ATOL,ITOL,                  & 
    4142           &    JAC, MLJAC, MUJAC, WORK,LWORK,IDID,ISTAT,RSTAT) 
    4243! --------------------------------------------------------------------- 
     
    309310      RETURN 
    310311 
    311       END SUBROUTINE ROSK 
     312      END SUBROUTINE rosk 
    312313 
    313314      SUBROUTINE RO3COR(N,X,Y,XEND,HMAX,H,RTOL,ATOL,ITOL,JAC,         & 
     
    10601061!----------------------- END OF SUBROUTINE SOLB ------------------------ 
    10611062      END SUBROUTINE SOLB 
    1062  
    1063 END MODULE TROS 
     1063#endif 
     1064END MODULE trosk 
Note: See TracChangeset for help on using the changeset viewer.