Changeset 15351 for NEMO/branches/2021
- Timestamp:
- 2021-10-11T15:53:53+02:00 (3 years ago)
- 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 101 101 ! Atmospheric input of Iron dissolves in the water column 102 102 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 ) 104 104 zdustdep = dust(ji,jj) * zwdust * rfact * EXP( -gdept(ji,jj,jk,Kmm) /( 250. * wdust ) ) 105 105 ! … … 118 118 ! Atmospheric input of PO4 dissolves in the water column 119 119 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 ) 121 121 zdustdep = dust(ji,jj) * zwdust * rfact * EXP( -gdept(ji,jj,jk,Kmm) /( 250. * wdust ) ) 122 122 ! … … 127 127 ! Atmospheric input of Si dissolves in the water column 128 128 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 ) 130 130 zdustdep = dust(ji,jj) * zwdust * rfact * EXP( -gdept(ji,jj,jk,Kmm) /( 250. * wdust ) ) 131 131 ! … … 160 160 IF( ln_trc_sbc(jpno3) ) THEN 161 161 jl = n_trc_indsbc(jpno3) 162 DO_2D( 1, 1, 1, 1)162 DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 163 163 zndep = rf_trsfac(jl) * sf_trcsbc(jl)%fnow(ji,jj,1) / e3t(ji,jj,1,Kmm) / rn_sbc_time 164 164 tr(ji,jj,1,jptal,Krhs) = tr(ji,jj,1,jptal,Krhs) - rno3 * zndep * rfact … … 167 167 IF( ln_trc_sbc(jpnh4) ) THEN 168 168 jl = n_trc_indsbc(jpnh4) 169 DO_2D( 1, 1, 1, 1)169 DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 170 170 zndep = rf_trsfac(jl) * sf_trcsbc(jl)%fnow(ji,jj,1) / e3t(ji,jj,1,Kmm) / rn_sbc_time 171 171 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 75 75 ! day length in hours 76 76 strn(:,:) = 0. 77 DO_2D( 1, 1, 1, 1)77 DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 78 78 zargu = TAN( zcodel ) * TAN( gphit(ji,jj) * rad ) 79 79 zargu = MAX( -1., MIN( 1., zargu ) ) … … 81 81 END_2D 82 82 ! 83 DO_3D( 1, 1, 1, 1, 1, jpkm1 )83 DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) 84 84 ! denitrification factor computed from O2 levels 85 85 ! 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 220 220 ! Assumes that larger biomass implies addition of larger cells 221 221 ! ------------------------------------------------------------ 222 DO_3D( 1, 1, 1, 1, 1, jpkm1)222 DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1) 223 223 zcoef = tr(ji,jj,jk,jpphy,Kbb) - MIN(xsizephy, tr(ji,jj,jk,jpphy,Kbb) ) 224 224 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 372 372 pe3(:,:,1) = zqsr(:,:) 373 373 ! 374 DO_3D( 1, 1, 1, 1, 2, nksr + 1)374 DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 2, nksr + 1) 375 375 pe0(ji,jj,jk) = pe0(ji,jj,jk-1) * EXP( -e3t(ji,jj,jk-1,Kmm) * xsi0r ) 376 376 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 428 428 ! the fluxes driven by mesozooplankton in the euphotic zone. 429 429 ! -------------------------------------------------------------------- 430 DO_3D( 1, 1, 1, 1, 1, jpkm1 )430 DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1) 431 431 zmigreltime = (1. - strn(ji,jj)) 432 432 IF( gdept(ji,jj,jk,Kmm) <= heup(ji,jj) ) THEN … … 461 461 ! the migration depth (corresponding indice is set by kmig) 462 462 ! -------------------------------------------------------------------------------- 463 DO_2D( 1, 1, 1, 1)463 DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 464 464 IF( tmask(ji,jj,1) == 1. ) THEN 465 465 jkt = kmig(ji,jj) … … 491 491 ! nutrients, DOC agands, and particulate organic carbon). 492 492 ! --------------------------------------------------------------------- 493 DO_3D( 1, 1, 1, 1, 1, jpkm1 )493 DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1) 494 494 tr(ji,jj,jk,jppo4,Krhs) = tr(ji,jj,jk,jppo4,Krhs) + zgrarep(ji,jj,jk) 495 495 tr(ji,jj,jk,jpnh4,Krhs) = tr(ji,jj,jk,jpnh4,Krhs) + zgraren(ji,jj,jk) … … 627 627 ! 150m to 500 m depth. 628 628 ! ------------------------------------------------------------------ 629 DO_3D( 1, 1, 1, 1, 1, jpk )629 DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpk ) 630 630 IF( tmask(ji,jj,jk) == 1.) THEN 631 631 IF( gdept(ji,jj,jk,Kmm) >= 150. .AND. gdept(ji,jj,jk,kmm) <= 500.) THEN … … 640 640 ! domain 641 641 ! ------------------------------------------------------------------------------------ 642 DO_2D( 1, 1, 1, 1)642 DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 643 643 z1dep = 1. / ( zdepmoy(ji,jj) + rtrn ) 644 644 oxymoy(ji,jj) = tr(ji,jj,1,jpoxy,Kbb) * 1E6 - oxymoy(ji,jj) * z1dep … … 649 649 ! Bianchi et al. (2013) 650 650 ! ------------------------------------------------------------------- 651 DO_2D( 1, 1, 1, 1)651 DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 652 652 IF( tmask(ji,jj,1) == 1. ) THEN 653 653 ztotchl = ( tr(ji,jj,1,jppch,Kbb) + tr(ji,jj,1,jpnch,Kbb) + tr(ji,jj,1,jpdch,Kbb) ) * 1E6 … … 658 658 ! Computation of the corresponding jk indice 659 659 ! ------------------------------------------ 660 DO_3D( 1, 1, 1, 1, 1, jpkm1 )660 DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) 661 661 IF( depmig(ji,jj) >= gdepw(ji,jj,jk,Kmm) .AND. depmig(ji,jj) < gdepw(ji,jj,jk+1,Kmm) ) THEN 662 662 kmig(ji,jj) = jk … … 670 670 ! that it falls above the OMZ 671 671 ! ----------------------------------------------------------------------- 672 DO_2D( 1, 1, 1, 1)672 DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 673 673 IF( tr(ji,jj,kmig(ji,jj),jpoxy,Kbb) < 5E-6 ) THEN 674 674 DO jk = kmig(ji,jj),1,-1 -
NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/src/TOP/PISCES/SED/sedchem.F90
r15349 r15351 139 139 CALL sed_chem_cst 140 140 ELSE 141 DO_2D( 1, 1, 1, 1)141 DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 142 142 ikt = mbkt(ji,jj) 143 143 IF ( tmask(ji,jj,ikt) == 1 ) THEN -
NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/src/TOP/PISCES/SED/sedsfc.F90
r15075 r15351 49 49 CALL unpack_arr ( jpoce, trc_data(1:jpi,1:jpj,9), iarroce(1:jpoce), pwcp(1:jpoce,1,jwlgw) ) 50 50 51 52 DO_2D( 1, 1, 1, 1 ) 51 DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 53 52 ikt = mbkt(ji,jj) 54 53 IF ( tmask(ji,jj,ikt) == 1 ) THEN -
NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/src/TOP/PISCES/SED/sedsol.F90
r15297 r15351 17 17 USE sedmat 18 18 USE sedorg 19 USE tros 19 # if ! defined key_agrif 20 USE trosk 21 #endif 20 22 USE lib_mpp ! distribued memory computing library 21 23 USE lib_fortran … … 58 60 INTEGER :: ji, jk, js, jw, jn, neq ! dummy looop indices 59 61 REAL(wp), DIMENSION( jpoce, jpvode * jpksed ) :: ZXIN, FVAL 62 # if ! defined key_agrif 60 63 REAL(wp), DIMENSION(jpoce,jpksed) :: preac 61 64 INTEGER :: JINDEX, ITOL, IJAC, MLJAC, IMAX … … 69 72 INTEGER, DIMENSION(jpoce,3) :: ISTAT 70 73 REAL(wp), DIMENSION(jpoce,2) :: RSTAT 74 #endif 71 75 !! 72 76 !!---------------------------------------------------------------------- … … 161 165 CALL sed_co3( kt ) 162 166 167 # if ! defined key_agrif 163 168 ! The following part deals with the stiff ODEs 164 169 ! This is the expensive part of the code and should be carefully … … 227 232 228 233 DEALLOCATE( WORK ) 234 #endif 229 235 230 236 preac(:,:) = 0. -
NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/src/TOP/PISCES/SED/trosk.F90
r15297 r15351 1 MODULE TROS 1 MODULE trosk 2 # if ! defined key_agrif 2 3 !**************************************************************** 3 4 !* NUMERICAL SOLUTION OF A STIFF SYSTEM OF FIRST 0RDER ORDINARY * … … 19 20 PRIVATE 20 21 21 PUBLIC ROSK22 PUBLIC rosk 22 23 23 24 INTEGER, ALLOCATABLE, SAVE, DIMENSION(:) :: NFCN, NJAC, NSTEP, NACCPT, NREJCT, NDEC, NSOL … … 38 39 39 40 !********************************************************************** 40 SUBROUTINE ROSK(ROSM,N,X,Y,XEND,H, RTOL,ATOL,ITOL, &41 SUBROUTINE rosk(ROSM,N,X,Y,XEND,H, RTOL,ATOL,ITOL, & 41 42 & JAC, MLJAC, MUJAC, WORK,LWORK,IDID,ISTAT,RSTAT) 42 43 ! --------------------------------------------------------------------- … … 309 310 RETURN 310 311 311 END SUBROUTINE ROSK312 END SUBROUTINE rosk 312 313 313 314 SUBROUTINE RO3COR(N,X,Y,XEND,HMAX,H,RTOL,ATOL,ITOL,JAC, & … … 1060 1061 !----------------------- END OF SUBROUTINE SOLB ------------------------ 1061 1062 END SUBROUTINE SOLB 1062 1063 END MODULE TROS1063 #endif 1064 END MODULE trosk
Note: See TracChangeset
for help on using the changeset viewer.