- Timestamp:
- 2017-12-11T17:45:55+01:00 (6 years ago)
- Location:
- branches/2017/dev_r8126_ROBUST08_no_ghost/NEMOGCM/NEMO/TOP_SRC
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_r8126_ROBUST08_no_ghost/NEMOGCM/NEMO/TOP_SRC/CFC/trcsms_cfc.F90
r7646 r8979 180 180 ! 181 181 IF( lk_iomput ) THEN 182 jl = 0 182 183 DO jn = jp_cfc0, jp_cfc1 183 CALL iom_put( 'qtr_'//ctrcnm(jn) , qtr_cfc (:,:,jn) ) 184 CALL iom_put( 'qint_'//ctrcnm(jn), qint_cfc(:,:,jn) ) 184 jl = jl + 1 185 CALL iom_put( 'qtr_'//TRIM(ctrcnm(jn)) , qtr_cfc (:,:,jl) ) 186 CALL iom_put( 'qint_'//TRIM(ctrcnm(jn)), qint_cfc(:,:,jl) ) 185 187 ENDDO 186 188 END IF -
branches/2017/dev_r8126_ROBUST08_no_ghost/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zlim.F90
r7753 r8979 207 207 & / ( oxymin + trb(ji,jj,jk,jpoxy) ) ) 208 208 nitrfac(ji,jj,jk) = MIN( 1., nitrfac(ji,jj,jk) ) 209 ! 210 ! denitrification factor computed from NO3 levels 211 nitrfac2(ji,jj,jk) = MAX( 0.e0, ( 1.E-6 - trb(ji,jj,jk,jpno3) ) & 212 & / ( 1.E-6 + trb(ji,jj,jk,jpno3) ) ) 213 nitrfac2(ji,jj,jk) = MIN( 1., nitrfac2(ji,jj,jk) ) 209 214 END DO 210 215 END DO -
branches/2017/dev_r8126_ROBUST08_no_ghost/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmeso.F90
r7753 r8979 95 95 ! no real reason except that it seems to be more stable and may mimic predation 96 96 ! --------------------------------------------------------------- 97 ztortz2 = mzrat2 * 1.e6 * zfact * trb(ji,jj,jk,jpmes) 97 ztortz2 = mzrat2 * 1.e6 * zfact * trb(ji,jj,jk,jpmes) * (1. - nitrfac(ji,jj,jk) ) 98 98 ! 99 99 zcompadi = MAX( ( trb(ji,jj,jk,jpdia) - xthresh2dia ), 0.e0 ) … … 125 125 ! ---------------------------------- 126 126 zgrazffeg = grazflux * xstep * wsbio4(ji,jj,jk) & 127 & * tgfunc2(ji,jj,jk) * trb(ji,jj,jk,jpgoc) * trb(ji,jj,jk,jpmes) 127 & * tgfunc2(ji,jj,jk) * trb(ji,jj,jk,jpgoc) * trb(ji,jj,jk,jpmes) & 128 & * (1. - nitrfac(ji,jj,jk)) 128 129 zgrazfffg = zgrazffeg * trb(ji,jj,jk,jpbfe) / (trb(ji,jj,jk,jpgoc) + rtrn) 129 130 zgrazffep = grazflux * xstep * wsbio3(ji,jj,jk) & 130 & * tgfunc2(ji,jj,jk) * trb(ji,jj,jk,jppoc) * trb(ji,jj,jk,jpmes) 131 & * tgfunc2(ji,jj,jk) * trb(ji,jj,jk,jppoc) * trb(ji,jj,jk,jpmes) & 132 & * (1. - nitrfac(ji,jj,jk)) 131 133 zgrazfffp = zgrazffep * trb(ji,jj,jk,jpsfe) / (trb(ji,jj,jk,jppoc) + rtrn) 132 134 ! -
branches/2017/dev_r8126_ROBUST08_no_ghost/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmicro.F90
r7753 r8979 93 93 ! no real reason except that it seems to be more stable and may mimic predation. 94 94 ! --------------------------------------------------------------- 95 ztortz = mzrat * 1.e6 * zfact * trb(ji,jj,jk,jpzoo) 95 ztortz = mzrat * 1.e6 * zfact * trb(ji,jj,jk,jpzoo) * (1. - nitrfac(ji,jj,jk)) 96 96 97 97 zcompadi = MIN( MAX( ( trb(ji,jj,jk,jpdia) - xthreshdia ), 0.e0 ), xsizedia ) … … 105 105 zdenom = zfoodlim / ( xkgraz + zfoodlim ) 106 106 zdenom2 = zdenom / ( zfood + rtrn ) 107 zgraze = grazrat * xstep * tgfunc2(ji,jj,jk) * trb(ji,jj,jk,jpzoo) 107 zgraze = grazrat * xstep * tgfunc2(ji,jj,jk) * trb(ji,jj,jk,jpzoo) * (1. - nitrfac(ji,jj,jk)) 108 108 109 109 zgrazp = zgraze * xpref2p * zcompaph * zdenom2 -
branches/2017/dev_r8126_ROBUST08_no_ghost/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zrem.F90
r7753 r8979 65 65 REAL(wp) :: zsatur, zsatur2, znusil, znusil2, zdep, zdepmin, zfactdep 66 66 REAL(wp) :: zbactfer, zolimit, zonitr, zrfact2 67 REAL(wp) :: zammonic, zoxyrem 67 68 REAL(wp) :: zosil, ztem, zdenitnh4, zolimic, zolimin, zolimip, zdenitrn, zdenitrp 68 69 CHARACTER (len=25) :: charout … … 118 119 ! Ammonification in suboxic waters with denitrification 119 120 ! ------------------------------------------------------- 120 denitr(ji,jj,jk) = MIN( ( trb(ji,jj,jk,jpno3) - rtrn ) / rdenit, & 121 & zremik * nitrfac(ji,jj,jk) * trb(ji,jj,jk,jpdoc) ) 121 zammonic = zremik * nitrfac(ji,jj,jk) * trb(ji,jj,jk,jpdoc) 122 denitr(ji,jj,jk) = zammonic * ( 1. - nitrfac2(ji,jj,jk) ) 123 zoxyrem = zammonic * nitrfac2(ji,jj,jk) 122 124 ! 123 125 zolimi (ji,jj,jk) = MAX( 0.e0, zolimi (ji,jj,jk) ) 124 126 denitr (ji,jj,jk) = MAX( 0.e0, denitr (ji,jj,jk) ) 127 zoxyrem = MAX( 0.e0, zoxyrem ) 128 125 129 ! 126 tra(ji,jj,jk,jppo4) = tra(ji,jj,jk,jppo4) + zolimi (ji,jj,jk) + denitr(ji,jj,jk) 127 tra(ji,jj,jk,jpnh4) = tra(ji,jj,jk,jpnh4) + zolimi (ji,jj,jk) + denitr(ji,jj,jk) 130 tra(ji,jj,jk,jppo4) = tra(ji,jj,jk,jppo4) + zolimi (ji,jj,jk) + denitr(ji,jj,jk) + zoxyrem 131 tra(ji,jj,jk,jpnh4) = tra(ji,jj,jk,jpnh4) + zolimi (ji,jj,jk) + denitr(ji,jj,jk) + zoxyrem 128 132 tra(ji,jj,jk,jpno3) = tra(ji,jj,jk,jpno3) - denitr (ji,jj,jk) * rdenit 129 tra(ji,jj,jk,jpdoc) = tra(ji,jj,jk,jpdoc) - zolimi (ji,jj,jk) - denitr(ji,jj,jk) 133 tra(ji,jj,jk,jpdoc) = tra(ji,jj,jk,jpdoc) - zolimi (ji,jj,jk) - denitr(ji,jj,jk) - zoxyrem 130 134 tra(ji,jj,jk,jpoxy) = tra(ji,jj,jk,jpoxy) - zolimi (ji,jj,jk) * o2ut 131 tra(ji,jj,jk,jpdic) = tra(ji,jj,jk,jpdic) + zolimi (ji,jj,jk) + denitr(ji,jj,jk) 132 tra(ji,jj,jk,jptal) = tra(ji,jj,jk,jptal) + rno3 * ( zolimi(ji,jj,jk) &135 tra(ji,jj,jk,jpdic) = tra(ji,jj,jk,jpdic) + zolimi (ji,jj,jk) + denitr(ji,jj,jk) + zoxyrem 136 tra(ji,jj,jk,jptal) = tra(ji,jj,jk,jptal) + rno3 * ( zolimi(ji,jj,jk) + zoxyrem & 133 137 & + ( rdenit + 1.) * denitr(ji,jj,jk) ) 134 138 END DO -
branches/2017/dev_r8126_ROBUST08_no_ghost/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsed.F90
r7753 r8979 54 54 REAL(wp) :: zwflux, zfminus, zfplus 55 55 REAL(wp) :: zlim, zfact, zfactcal 56 REAL(wp) :: zo2, zno3, zflx, zpdenit, z1pdenit, z denitt, zolimit56 REAL(wp) :: zo2, zno3, zflx, zpdenit, z1pdenit, zolimit 57 57 REAL(wp) :: zsiloss, zcaloss, zws3, zws4, zwsc, zdep 58 58 REAL(wp) :: zwstpoc, zwstpon, zwstpop … … 319 319 tra(ji,jj,ikt,jptal) = tra(ji,jj,ikt,jptal) + zcaloss * zrivalk * 2.0 320 320 tra(ji,jj,ikt,jpdic) = tra(ji,jj,ikt,jpdic) + zcaloss * zrivalk 321 zsedcal(ji,jj) = (1.0 - zrivalk) * zcaloss / zdep322 zsedsi (ji,jj) = (1.0 - zrivsil) * zsiloss / zdep321 zsedcal(ji,jj) = (1.0 - zrivalk) * zcaloss * e3t_n(ji,jj,ikt) 322 zsedsi (ji,jj) = (1.0 - zrivsil) * zsiloss * e3t_n(ji,jj,ikt) 323 323 END DO 324 324 END DO … … 365 365 366 366 IF( .NOT.lk_sed ) THEN 367 ! The 0.5 factor in zpdenit and zdenitt is to avoid negative NO3 concentration after both denitrification368 ! in the sediments and just abovethe sediments. Not very clever, but simpliest option.367 ! The 0.5 factor in zpdenit is to avoid negative NO3 concentration after 368 ! denitrification in the sediments. Not very clever, but simpliest option. 369 369 DO jj = 1, jpj 370 370 DO ji = 1, jpi … … 378 378 z1pdenit = zwstpoc * zrivno3 - zpdenit 379 379 zolimit = MIN( ( trb(ji,jj,ikt,jpoxy) - rtrn ) / o2ut, z1pdenit * ( 1.- nitrfac(ji,jj,ikt) ) ) 380 zdenitt = MIN( 0.5 * ( trb(ji,jj,ikt,jpno3) - rtrn ) / rdenit, z1pdenit * nitrfac(ji,jj,ikt) ) 381 tra(ji,jj,ikt,jpdoc) = tra(ji,jj,ikt,jpdoc) + z1pdenit - zolimit - zdenitt 382 tra(ji,jj,ikt,jppo4) = tra(ji,jj,ikt,jppo4) + zpdenit + zolimit + zdenitt 383 tra(ji,jj,ikt,jpnh4) = tra(ji,jj,ikt,jpnh4) + zpdenit + zolimit + zdenitt 384 tra(ji,jj,ikt,jpno3) = tra(ji,jj,ikt,jpno3) - rdenit * (zpdenit + zdenitt) 380 tra(ji,jj,ikt,jpdoc) = tra(ji,jj,ikt,jpdoc) + z1pdenit - zolimit 381 tra(ji,jj,ikt,jppo4) = tra(ji,jj,ikt,jppo4) + zpdenit + zolimit 382 tra(ji,jj,ikt,jpnh4) = tra(ji,jj,ikt,jpnh4) + zpdenit + zolimit 383 tra(ji,jj,ikt,jpno3) = tra(ji,jj,ikt,jpno3) - rdenit * zpdenit 385 384 tra(ji,jj,ikt,jpoxy) = tra(ji,jj,ikt,jpoxy) - zolimit * o2ut 386 tra(ji,jj,ikt,jptal) = tra(ji,jj,ikt,jptal) + rno3 * (zolimit + (1.+rdenit) * (zpdenit + zdenitt))387 tra(ji,jj,ikt,jpdic) = tra(ji,jj,ikt,jpdic) + zpdenit + zolimit + zdenitt385 tra(ji,jj,ikt,jptal) = tra(ji,jj,ikt,jptal) + rno3 * (zolimit + (1.+rdenit) * zpdenit ) 386 tra(ji,jj,ikt,jpdic) = tra(ji,jj,ikt,jpdic) + zpdenit + zolimit 388 387 sdenit(ji,jj) = rdenit * zpdenit * e3t_n(ji,jj,ikt) 389 zsedc(ji,jj) = (1. - zrivno3) * zwstpoc / zdep388 zsedc(ji,jj) = (1. - zrivno3) * zwstpoc * e3t_n(ji,jj,ikt) 390 389 IF( ln_p5z ) THEN 391 390 zwstpop = trb(ji,jj,ikt,jpgop) * zws4 + trb(ji,jj,ikt,jppop) * zws3 392 391 zwstpon = trb(ji,jj,ikt,jpgon) * zws4 + trb(ji,jj,ikt,jppon) * zws3 393 tra(ji,jj,ikt,jpdon) = tra(ji,jj,ikt,jpdon) + ( z1pdenit - zolimit - zdenitt) * zwstpon / (zwstpoc + rtrn)394 tra(ji,jj,ikt,jpdop) = tra(ji,jj,ikt,jpdop) + ( z1pdenit - zolimit - zdenitt) * zwstpop / (zwstpoc + rtrn)392 tra(ji,jj,ikt,jpdon) = tra(ji,jj,ikt,jpdon) + ( z1pdenit - zolimit ) * zwstpon / (zwstpoc + rtrn) 393 tra(ji,jj,ikt,jpdop) = tra(ji,jj,ikt,jpdop) + ( z1pdenit - zolimit ) * zwstpop / (zwstpoc + rtrn) 395 394 ENDIF 396 395 END DO … … 494 493 IF( lk_iomput ) THEN 495 494 IF( knt == nrdttrc ) THEN 496 zfact = 1.e+3 * rfact2r * rno3! conversion from molC/l/kt to molN/m3/s497 IF( iom_use("Nfix" ) ) CALL iom_put( "Nfix", nitrpot(:,:,:) * nitrfix * zfact * tmask(:,:,:) ) ! nitrogen fixation495 zfact = 1.e+3 * rfact2r ! conversion from molC/l/kt to molN/m3/s 496 IF( iom_use("Nfix" ) ) CALL iom_put( "Nfix", nitrpot(:,:,:) * nitrfix * rno3 * zfact * tmask(:,:,:) ) ! nitrogen fixation 498 497 IF( iom_use("INTNFIX") ) THEN ! nitrogen fixation rate in ocean ( vertically integrated ) 499 498 zwork1(:,:) = 0. 500 499 DO jk = 1, jpkm1 501 zwork1(:,:) = zwork1(:,:) + nitrpot(:,:,jk) * nitrfix * zfact * e3t_n(:,:,jk) * tmask(:,:,jk)500 zwork1(:,:) = zwork1(:,:) + nitrpot(:,:,jk) * nitrfix * rno3 * zfact * e3t_n(:,:,jk) * tmask(:,:,jk) 502 501 ENDDO 503 502 CALL iom_put( "INTNFIX" , zwork1 ) 504 503 ENDIF 505 IF( iom_use("SedCal" ) ) CALL iom_put( "SedCal", zsedcal(:,:) * 1.e+3)506 IF( iom_use("SedSi" ) ) CALL iom_put( "SedSi", zsedsi (:,:) * 1.e+3)507 IF( iom_use("SedC" ) ) CALL iom_put( "SedC", zsedc (:,:) * 1.e+3)508 IF( iom_use("Sdenit" ) ) CALL iom_put( "Sdenit", sdenit (:,:) * 1.e+3* rno3 )504 IF( iom_use("SedCal" ) ) CALL iom_put( "SedCal", zsedcal(:,:) * zfact ) 505 IF( iom_use("SedSi" ) ) CALL iom_put( "SedSi", zsedsi (:,:) * zfact ) 506 IF( iom_use("SedC" ) ) CALL iom_put( "SedC", zsedc (:,:) * zfact ) 507 IF( iom_use("Sdenit" ) ) CALL iom_put( "Sdenit", sdenit (:,:) * zfact * rno3 ) 509 508 ENDIF 510 509 ENDIF -
branches/2017/dev_r8126_ROBUST08_no_ghost/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsms.F90
r7753 r8979 431 431 432 432 IF( kt == nittrc000 ) THEN 433 xfact1 = rfact2r * 12. / 1.e15 * ryyss ! conversion molC/kt --> PgC/yr 434 xfact2 = 1.e+3 * rno3 * 14. / 1.e12 * ryyss ! conversion molC/l/s ----> TgN/m3/yr 435 xfact3 = 1.e+3 * rfact2r * rno3 ! conversion molC/l/kt ----> molN/m3/s 433 436 IF( ln_check_mass .AND. lwp) THEN ! Open budget file of NO3, ALK, Si, Fer 434 437 CALL ctl_opn( numco2, 'carbon.budget' , 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE., narea ) 435 438 CALL ctl_opn( numnut, 'nutrient.budget', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE., narea ) 436 439 CALL ctl_opn( numnit, 'nitrogen.budget', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE., narea ) 437 xfact1 = rfact2r * 12. / 1.e15 * ryyss ! conversion molC/kt --> PgC/yr438 xfact2 = 1.e+3 * rno3 * 14. / 1.e12 * ryyss ! conversion molC/l/s ----> TgN/m3/yr439 xfact3 = 1.e+3 * rfact2r * rno3 ! conversion molC/l/kt ----> molN/m3/s440 440 cltxt='time-step Alkalinity Nitrate Phosphorus Silicate Iron' 441 441 IF( lwp ) WRITE(numnut,*) TRIM(cltxt) … … 517 517 IF( iom_use( "tnfix" ) .OR. ( ln_check_mass .AND. kt == nitend ) ) THEN 518 518 znitrpottot = glob_sum ( nitrpot(:,:,:) * nitrfix * cvol(:,:,:) ) 519 CALL iom_put( "tnfix" , znitrpottot * 1.e+3 * rno3 ) ! Global nitrogen fixation molC/l to molN/m3519 CALL iom_put( "tnfix" , znitrpottot * xfact3 ) ! Global nitrogen fixation molC/l to molN/m3 520 520 ENDIF 521 521 ! 522 522 IF( iom_use( "tdenit" ) .OR. ( ln_check_mass .AND. kt == nitend ) ) THEN 523 zrdenittot = glob_sum ( denitr(:,:,:) * rdenit * xnegtr(:,:,:) * cvol(:,:,:) ) 524 CALL iom_put( "tdenit" , zrdenittot * 1.e+3 * rno3 ) ! Total denitrification molC/l to molN/m3 525 ENDIF 526 ! 527 IF( iom_use( "Sdenit" ) .OR. ( ln_check_mass .AND. kt == nitend ) ) THEN 528 zsdenittot = glob_sum ( sdenit(:,:) * e1e2t(:,:) ) 529 CALL iom_put( "Sdenit", sdenit(:,:) * xfact3 * tmask(:,:,1) ) ! Nitrate reduction in the sediments 530 ENDIF 531 523 zrdenittot = glob_sum ( denitr(:,:,:) * rdenit * xnegtr(:,:,:) * cvol(:,:,:) ) 524 zsdenittot = glob_sum ( sdenit(:,:) * e1e2t(:,:) * tmask(:,:,1) ) 525 CALL iom_put( "tdenit" , ( zrdenittot + zsdenittot ) * xfact3 ) ! Total denitrification molC/l to molN/m3 526 ENDIF 527 ! 532 528 IF( ln_check_mass .AND. kt == nitend ) THEN ! Compute the budget of NO3, ALK, Si, Fer 533 529 t_atm_co2_flx = t_atm_co2_flx / glob_sum( e1e2t(:,:) ) -
branches/2017/dev_r8126_ROBUST08_no_ghost/NEMOGCM/NEMO/TOP_SRC/PISCES/SED/sedco3.F90
r5215 r8979 75 75 76 76 DO jk = 1, jpksed 77 10001 CONTINUE 78 IF( itime <= 2 ) THEN 77 DO WHILE( itime <= 2 ) 79 78 lconv = .FALSE. 80 79 IF( itime > 0 ) THEN … … 154 153 ! WRITE(numsed,*) ' with re-initialization of initial PH field ' 155 154 itime = 2 156 GOTO 10001157 155 ELSE 158 156 ! WRITE(numsed,*) ' convergence after iter =', jiter, ' iterations ; res =',zresm … … 165 163 ! & ' after iter =', jiter, ' iterations ; res =',zresm 166 164 ! WRITE(numsed,*) ' ' 167 itime = 0165 itime = 3 168 166 ENDIF 169 167 ELSE … … 172 170 IF ( itime == 1 ) THEN 173 171 WRITE(numsed,*) ' try one more time with more iterations and higher relax. value' 174 GOTO 10001175 172 ELSE IF ( itime == 2 ) THEN 176 173 WRITE(numsed,*) ' try one more time for with more iterations, higher relax. value' … … 181 178 ENDIF 182 179 ENDIF 183 END IF180 ENDDO ! End of WHILE LOOP 184 181 ENDDO 185 182 -
branches/2017/dev_r8126_ROBUST08_no_ghost/NEMOGCM/NEMO/TOP_SRC/PISCES/sms_pisces.F90
r7646 r8979 97 97 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: xfracal !: ?? 98 98 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: nitrfac !: ?? 99 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: nitrfac2 !: ?? 99 100 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: orem !: ?? 100 101 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: xdiss !: ?? … … 159 160 ! 160 161 !* SMS for the organic matter 161 ALLOCATE( xfracal (jpi,jpj,jpk), nitrfac(jpi,jpj,jpk), &162 & orem (jpi,jpj,jpk),&163 & prodcal(jpi,jpj,jpk) ,xdiss (jpi,jpj,jpk), &162 ALLOCATE( xfracal (jpi,jpj,jpk), orem(jpi,jpj,jpk) , & 163 & nitrfac(jpi,jpj,jpk), nitrfac2(jpi,jpj,jpk) , & 164 & prodcal(jpi,jpj,jpk) , xdiss (jpi,jpj,jpk), & 164 165 & prodpoc(jpi,jpj,jpk) , conspoc(jpi,jpj,jpk) , & 165 166 & prodgoc(jpi,jpj,jpk) , consgoc(jpi,jpj,jpk) , STAT=ierr(4) ) -
branches/2017/dev_r8126_ROBUST08_no_ghost/NEMOGCM/NEMO/TOP_SRC/TRP/trcnxt.F90
r7881 r8979 106 106 ENDIF 107 107 ! ! Leap-Frog + Asselin filter time stepping 108 IF( neuler == 0 .AND. kt == nittrc000 ) THEN ! Euler time-stepping at first time-step(only swap)108 IF( (neuler == 0 .AND. kt == nittrc000) .OR. ln_top_euler ) THEN ! Euler time-stepping (only swap) 109 109 DO jn = 1, jptra 110 110 DO jk = 1, jpkm1 111 111 trn(:,:,jk,jn) = tra(:,:,jk,jn) 112 trb(:,:,jk,jn) = trn(:,:,jk,jn) 112 113 END DO 113 114 END DO -
branches/2017/dev_r8126_ROBUST08_no_ghost/NEMOGCM/NEMO/TOP_SRC/trc.F90
r7881 r8979 10 10 USE par_oce 11 11 USE par_trc 12 USE bdy_oce, only: ln_bdy, nb_bdy, OBC_DATA12 USE bdy_oce, only: jp_bdy, ln_bdy, nb_bdy, OBC_DATA 13 13 14 14 IMPLICIT NONE … … 169 169 # endif 170 170 ! 171 CHARACTER(len=20), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: cn_trc_dflt ! Default OBC condition for all tracers 172 CHARACTER(len=20), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: cn_trc ! Choice of boundary condition for tracers 173 INTEGER, PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: nn_trcdmp_bdy !: =T Tracer damping 171 CHARACTER(len=20), PUBLIC, DIMENSION(jp_bdy) :: cn_trc_dflt ! Default OBC condition for all tracers 172 CHARACTER(len=20), PUBLIC, DIMENSION(jp_bdy) :: cn_trc ! Choice of boundary condition for tracers 173 INTEGER, PUBLIC, DIMENSION(jp_bdy) :: nn_trcdmp_bdy !: =T Tracer damping 174 !$AGRIF_DO_NOT_TREAT 174 175 ! External data structure of BDY for TOP. Available elements: cn_obc, ll_trc, trcnow, dmp 175 176 TYPE(OBC_DATA), PUBLIC, ALLOCATABLE, DIMENSION(:,:), TARGET :: trcdta_bdy !: bdy external data (local process) 176 ! 177 177 !$AGRIF_END_DO_NOT_TREAT 178 178 !!---------------------------------------------------------------------- 179 179 !! NEMO/TOP 3.3.1 , NEMO Consortium (2010) … … 206 206 ! 207 207 IF ( ln_bdy ) THEN 208 ALLOCATE( cn_trc_dflt(nb_bdy) , cn_trc(nb_bdy) , nn_trcdmp_bdy(nb_bdy) , & 209 & trcdta_bdy(jptra,nb_bdy) , & 210 & STAT = ierr(2) ) 208 ALLOCATE( trcdta_bdy(jptra, jp_bdy), STAT = ierr(2) ) 211 209 ENDIF 212 210 ! -
branches/2017/dev_r8126_ROBUST08_no_ghost/NEMOGCM/NEMO/TOP_SRC/trcdta.F90
r7646 r8979 227 227 ik = mbkt(ji,jj) 228 228 IF( ik > 1 ) THEN 229 zl = ( gdept_1d(ik) - gdept_ n(ji,jj,ik) ) / ( gdept_1d(ik) - gdept_1d(ik-1) )229 zl = ( gdept_1d(ik) - gdept_0(ji,jj,ik) ) / ( gdept_1d(ik) - gdept_1d(ik-1) ) 230 230 ptrcdta(ji,jj,ik) = (1.-zl) * ptrcdta(ji,jj,ik) + zl * ptrcdta(ji,jj,ik-1) 231 231 ENDIF 232 232 ik = mikt(ji,jj) 233 233 IF( ik > 1 ) THEN 234 zl = ( gdept_ n(ji,jj,ik) - gdept_1d(ik) ) / ( gdept_1d(ik+1) - gdept_1d(ik) )234 zl = ( gdept_0(ji,jj,ik) - gdept_1d(ik) ) / ( gdept_1d(ik+1) - gdept_1d(ik) ) 235 235 ptrcdta(ji,jj,ik) = (1.-zl) * ptrcdta(ji,jj,ik) + zl * ptrcdta(ji,jj,ik+1) 236 236 ENDIF -
branches/2017/dev_r8126_ROBUST08_no_ghost/NEMOGCM/NEMO/TOP_SRC/trcini.F90
r7753 r8979 69 69 ! 70 70 CALL trc_ini_sms ! SMS 71 CALL trc_ini_inv ! Inventories72 71 CALL trc_ini_trp ! passive tracers transport 73 72 CALL trc_ice_ini ! Tracers in sea ice … … 78 77 IF( nn_dttrc /= 1 ) & 79 78 CALL trc_sub_ini ! Initialize variables for substepping passive tracers 79 ! 80 CALL trc_ini_inv ! Inventories 80 81 ! 81 82 IF( nn_timing == 1 ) CALL timing_stop('trc_init')
Note: See TracChangeset
for help on using the changeset viewer.