Changeset 1329
- Timestamp:
- 2009-02-20T11:32:52+01:00 (15 years ago)
- Location:
- trunk/NEMO/TOP_SRC
- Files:
-
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/TOP_SRC/C14b/trcsms_c14b.F90
r1252 r1329 14 14 !! trc_sms_c14b : compute and add C14 suface forcing to C14 trends 15 15 !!---------------------------------------------------------------------- 16 USE daymod ! calendar17 16 USE oce_trc ! Ocean variables 18 17 USE par_trc ! TOP parameters -
trunk/NEMO/TOP_SRC/CFC/trcsms_cfc.F90
r1255 r1329 15 15 !! trc_cfc_cst : sets constants for CFC surface forcing computation 16 16 !!---------------------------------------------------------------------- 17 USE daymod ! calendar18 17 USE oce_trc ! Ocean variables 19 18 USE par_trc ! TOP parameters -
trunk/NEMO/TOP_SRC/PISCES/p4zbio.F90
r1289 r1329 128 128 129 129 # if defined key_trc_dia3d && defined key_kriest 130 trc3d(:,:,:,jp_pcs0_3d + 10) = tra(:,:,:,jpcal) * xnegtr(:,:,:) * 1.e3 * rfact2r 130 trc3d(:,:,:,jp_pcs0_3d + 10) = tra(:,:,:,jpcal) & 131 & * xnegtr(:,:,:) * 1.e3 * rfact2r * tmask(:,:,:) 131 132 # endif 132 133 ! -
trunk/NEMO/TOP_SRC/PISCES/p4zflx.F90
r1298 r1329 169 169 # if defined key_trc_diaadd 170 170 ! Save diagnostics 171 trc2d(ji,jj,jp_pcs0_2d ) = ( zfld - zflu ) * 1000. 172 trc2d(ji,jj,jp_pcs0_2d + 1) = ( zfld16 - zflu16 ) * 1000. 173 trc2d(ji,jj,jp_pcs0_2d + 2) = zkgco2(ji,jj) 174 trc2d(ji,jj,jp_pcs0_2d + 3) = atcco2 - zh2co3(ji,jj) / ( chemc(ji,jj,1) + rtrn ) 171 trc2d(ji,jj,jp_pcs0_2d ) = ( zfld - zflu ) * 1000. * tmask(ji,jj,1) 172 trc2d(ji,jj,jp_pcs0_2d + 1) = ( zfld16 - zflu16 ) * 1000. * tmask(ji,jj,1) 173 trc2d(ji,jj,jp_pcs0_2d + 2) = zkgco2(ji,jj) * tmask(ji,jj,1) 174 trc2d(ji,jj,jp_pcs0_2d + 3) = atcco2 - zh2co3(ji,jj) / ( chemc(ji,jj,1) + rtrn ) * tmask(ji,jj,1) 175 175 # endif 176 176 END DO -
trunk/NEMO/TOP_SRC/PISCES/p4zlys.F90
r1152 r1329 66 66 IF( kt == nittrc000 ) CALL p4z_lys_init ! Initialization (first time-step only) 67 67 68 68 zco3(:,:,:) = 0. 69 69 70 70 ! ------------------------------------------- … … 150 150 END DO 151 151 152 # if defined key_trc_dia3d 153 trc3d(:,:,:,jp_pcs0_3d ) = hi(:,:,:) 154 trc3d(:,:,:,jp_pcs0_3d + 1) = zco3(:,:,:) 155 trc3d(:,:,:,jp_pcs0_3d + 2) = aksp(:,:,:) / calcon 152 # if defined key_trc_diaadd && defined key_trc_dia3d 153 DO jk = 1, jpk 154 DO jj = 1, jpj 155 DO ji = 1, jpi 156 trc3d(ji,jj,jk,jp_pcs0_3d ) = hi (ji,jj,jk) * tmask(ji,jj,jk) 157 trc3d(ji,jj,jk,jp_pcs0_3d + 1) = zco3(ji,jj,jk) * tmask(ji,jj,jk) 158 trc3d(ji,jj,jk,jp_pcs0_3d + 2) = aksp(ji,jj,jk) / calcon * tmask(ji,jj,jk) 159 ENDDO 160 ENDDO 161 ENDDO 156 162 # endif 157 163 ! -
trunk/NEMO/TOP_SRC/PISCES/p4zopt.F90
r1271 r1329 259 259 260 260 # if defined key_trc_diaadd 261 trc2d(:,:,jp_pcs0_2d + 10) = heup(:,:) 261 trc2d(:,:,jp_pcs0_2d + 10) = heup(:,:) * tmask(:,:,1) 262 262 # endif 263 263 ! -
trunk/NEMO/TOP_SRC/PISCES/p4zprod.F90
r1298 r1329 359 359 ENDIF 360 360 361 #if defined key_trc_dia 3d361 #if defined key_trc_diaadd && defined key_trc_dia3d 362 362 zrfact2 = 1.e3 * rfact2r 363 363 ! Supplementary diagnostics 364 trc3d(:,:,:,jp_pcs0_3d + 3) = etot(:,:,:) 365 trc3d(:,:,:,jp_pcs0_3d + 4) = zprorca(:,:,:) * zrfact2 366 trc3d(:,:,:,jp_pcs0_3d + 5) = zprorcad(:,:,:) * zrfact2 367 trc3d(:,:,:,jp_pcs0_3d + 6) = zpronew(:,:,:) * zrfact2 368 trc3d(:,:,:,jp_pcs0_3d + 7) = zpronewd(:,:,:) * zrfact2 369 trc3d(:,:,:,jp_pcs0_3d + 8) = zprorcad(:,:,:) * zysopt(:,:,:) * zrfact2 370 trc3d(:,:,:,jp_pcs0_3d + 9) = zprofed(:,:,:) * zrfact2 364 DO jk = 1, jpk 365 DO jj = 1, jpj 366 DO ji = 1, jpi 367 trc3d(ji,jj,jk,jp_pcs0_3d + 3) = etot(ji,jj,jk) * tmask(ji,jj,jk) 368 trc3d(ji,jj,jk,jp_pcs0_3d + 4) = zprorca (ji,jj,jk) * zrfact2 * tmask(ji,jj,jk) 369 trc3d(ji,jj,jk,jp_pcs0_3d + 5) = zprorcad(ji,jj,jk) * zrfact2 * tmask(ji,jj,jk) 370 trc3d(ji,jj,jk,jp_pcs0_3d + 6) = zpronew (ji,jj,jk) * zrfact2 * tmask(ji,jj,jk) 371 trc3d(ji,jj,jk,jp_pcs0_3d + 7) = zpronewd(ji,jj,jk) * zrfact2 * tmask(ji,jj,jk) 372 trc3d(ji,jj,jk,jp_pcs0_3d + 8) = zprorcad(ji,jj,jk) * zrfact2 * tmask(ji,jj,jk) & 373 & * zysopt(ji,jj,jk) 374 trc3d(ji,jj,jk,jp_pcs0_3d + 9) = zprofed (ji,jj,jk) * zrfact2 * tmask(ji,jj,jk) 371 375 #if ! defined key_kriest 372 trc3d(:,:,:,jp_pcs0_3d + 10) = zprofen(:,:,:) * zrfact2376 trc3d(ji,jj,jk,jp_pcs0_3d + 10) = zprofen (ji,jj,jk) * zrfact2 * tmask(ji,jj,jk) 373 377 #endif 378 ENDDO 379 ENDDO 380 ENDDO 374 381 #endif 375 382 -
trunk/NEMO/TOP_SRC/PISCES/p4zsed.F90
r1255 r1329 330 330 DO jj = 1,jpj 331 331 DO ji = 1,jpi 332 trc2d(ji,jj,jp_pcs0_2d + 11) = zirondep(ji,jj,1) * 1.e+3 * rfact2r * fse3t(ji,jj,1) 333 trc2d(ji,jj,jp_pcs0_2d + 12) = znitrpot(ji,jj,1) * 1.e-7 * fse3t(ji,jj,1) * 1.e+3 / rfact2 332 trc2d(ji,jj,jp_pcs0_2d + 11) = zirondep(ji,jj,1) * 1.e+3 * rfact2r & 333 & * fse3t(ji,jj,1) * tmask(ji,jj,1) 334 trc2d(ji,jj,jp_pcs0_2d + 12) = znitrpot(ji,jj,1) * 1.e-7 & 335 & * fse3t(ji,jj,1) * 1.e+3 / rfact2 * tmask(ji,jj,1) 334 336 END DO 335 337 END DO -
trunk/NEMO/TOP_SRC/PISCES/p4zsink.F90
r1264 r1329 279 279 END DO 280 280 281 # if defined key_trc_dia3d281 #if defined key_trc_diaadd 282 282 zrfact2 = 1.e3 * rfact2r 283 trc2d(:,:, jp_pcs0_2d + 4) = sinking (:,:,iksed+1) * zrfact2 284 trc2d(:,:, jp_pcs0_2d + 5) = sinking2(:,:,iksed+1) * zrfact2 285 trc2d(:,:, jp_pcs0_2d + 6) = sinkfer (:,:,iksed+1) * zrfact2 286 trc2d(:,:, jp_pcs0_2d + 8) = sinksil (:,:,iksed+1) * zrfact2 287 trc2d(:,:, jp_pcs0_2d + 9) = sinkcal (:,:,iksed+1) * zrfact2 288 trc3d(:,:,:,jp_pcs0_3d + 11) = sinking (:,:,:) * zrfact2 289 trc3d(:,:,:,jp_pcs0_3d + 12) = sinking2(:,:,:) * zrfact2 290 trc3d(:,:,:,jp_pcs0_3d + 13) = sinksil (:,:,:) * zrfact2 291 trc3d(:,:,:,jp_pcs0_3d + 14) = sinkcal (:,:,:) * zrfact2 292 trc3d(:,:,:,jp_pcs0_3d + 15) = znum3d (:,:,:) 293 trc3d(:,:,:,jp_pcs0_3d + 16) = wsbio3 (:,:,:) 294 trc3d(:,:,:,jp_pcs0_3d + 17) = wsbio4 (:,:,:) 295 # endif 283 DO jj = 1, jpj 284 DO ji = 1, jpi 285 trc2d(ji,jj, jp_pcs0_2d + 4) = sinking (ji,jj,iksed+1) * zrfact2 * tmask(ji,jj,1) 286 trc2d(ji,jj, jp_pcs0_2d + 5) = sinking2(ji,jj,iksed+1) * zrfact2 * tmask(ji,jj,1) 287 trc2d(ji,jj, jp_pcs0_2d + 6) = sinkfer (ji,jj,iksed+1) * zrfact2 * tmask(ji,jj,1) 288 trc2d(ji,jj, jp_pcs0_2d + 7) = sinksil (ji,jj,iksed+1) * zrfact2 * tmask(ji,jj,1) 289 trc2d(ji,jj, jp_pcs0_2d + 8) = sinkcal (ji,jj,iksed+1) * zrfact2 * tmask(ji,jj,1) 290 ENDDO 291 ENDDO 292 # if defined key_trc_dia3d 293 DO jk = 1, jpk 294 DO jj = 1, jpj 295 DO ji = 1, jpi 296 trc3d(ji,jj,jk,jp_pcs0_3d + 11) = sinking (ji,jj,jk) * zrfact2 * tmask(ji,jj,jk) 297 trc3d(ji,jj,jk,jp_pcs0_3d + 12) = sinking2(ji,jj,jk) * zrfact2 * tmask(ji,jj,jk) 298 trc3d(ji,jj,jk,jp_pcs0_3d + 13) = sinksil (ji,jj,jk) * zrfact2 * tmask(ji,jj,jk) 299 trc3d(ji,jj,jk,jp_pcs0_3d + 14) = sinkcal (ji,jj,jk) * zrfact2 * tmask(ji,jj,jk) 300 trc3d(ji,jj,jk,jp_pcs0_3d + 15) = znum3d (ji,jj,jk) * tmask(ji,jj,jk) 301 trc3d(ji,jj,jk,jp_pcs0_3d + 16) = wsbio3 (ji,jj,jk) * tmask(ji,jj,jk) 302 trc3d(ji,jj,jk,jp_pcs0_3d + 17) = wsbio4 (ji,jj,jk) * tmask(ji,jj,jk) 303 ENDDO 304 ENDDO 305 ENDDO 306 # endif 307 308 #endif 296 309 ! 297 310 IF(ln_ctl) THEN ! print mean trends (used for debugging) … … 598 611 # if defined key_trc_diaadd 599 612 zrfact2 = 1.e3 * rfact2r 600 trc2d(:,:, jp_pcs0_2d + 4) = sinking (:,:,iksed+1) * zrfact2 601 trc2d(:,:, jp_pcs0_2d + 5) = sinking2(:,:,iksed+1) * zrfact2 602 trc2d(:,:, jp_pcs0_2d + 6) = sinkfer (:,:,iksed+1) * zrfact2 603 trc2d(:,:, jp_pcs0_2d + 7) = sinkfer2(:,:,iksed+1) * zrfact2 604 trc2d(:,:, jp_pcs0_2d + 8) = sinksil (:,:,iksed+1) * zrfact2 605 trc2d(:,:, jp_pcs0_2d + 9) = sinkcal (:,:,iksed+1) * zrfact2 613 DO jj = 1, jpj 614 DO ji = 1, jpi 615 trc2d(ji,jj, jp_pcs0_2d + 4) = sinking (ji,jj,iksed+1) * zrfact2 * tmask(ji,jj,1) 616 trc2d(ji,jj, jp_pcs0_2d + 5) = sinking2(ji,jj,iksed+1) * zrfact2 * tmask(ji,jj,1) 617 trc2d(ji,jj, jp_pcs0_2d + 6) = sinkfer (ji,jj,iksed+1) * zrfact2 * tmask(ji,jj,1) 618 trc2d(ji,jj, jp_pcs0_2d + 7) = sinkfer2(ji,jj,iksed+1) * zrfact2 * tmask(ji,jj,1) 619 trc2d(ji,jj, jp_pcs0_2d + 8) = sinksil (ji,jj,iksed+1) * zrfact2 * tmask(ji,jj,1) 620 trc2d(ji,jj, jp_pcs0_2d + 9) = sinkcal (ji,jj,iksed+1) * zrfact2 * tmask(ji,jj,1) 621 ENDDO 622 ENDDO 606 623 # endif 607 624 ! -
trunk/NEMO/TOP_SRC/SED/sed.F90
r1250 r1329 21 21 rdt => rdt !: time step for the dynamics 22 22 23 USE daymod , ONLY : & 24 nyear => nyear, & !: Current year 25 nmonth => nmonth, & !: Current month 26 nday => nday !: Current day 23 USE daymod , ONLY : & 24 nyear => nyear , & !: Current year 25 nmonth => nmonth , & !: Current month 26 nday => nday , & !: Current day 27 ndastp => ndastp , & !: time step date in year/month/day aammjj 28 nday_year => nday_year, & !: curent day counted from jan 1st of the current year 29 adatrj => adatrj !: number of elapsed days since the begining of the run 30 ! !: it is the accumulated duration of previous runs 31 ! !: that may have been run with different time steps. 27 32 28 33 -
trunk/NEMO/TOP_SRC/SED/sedwri.F90
r1318 r1329 211 211 ENDDO 212 212 213 ! Fluxes213 ! Fluxes 214 214 DO jn = 1, jpdia2dsed 215 215 cltra = seddia2d(jn) ! short title for 2D diagnostic … … 227 227 WRITE(numsed,*) 'End of NetCDF sediment output file Initialization' 228 228 229 ELSE 230 231 232 ! Start writing data 233 ! --------------------- 234 DO jn = 1, jptrased 235 cltra = sedtrcd(jn) ! short title for 3D diagnostic 236 CALL histwrite( nised, cltra, it, trcsedi(:,:,:,jn), ndimt52, ndext52 ) 237 END DO 238 239 DO jn = 1, jpdia3dsed 240 cltra = seddia3d(jn) ! short title for 3D diagnostic 241 CALL histwrite( nised, cltra, it, flxsedi3d(:,:,:,jn), ndimt52, ndext52 ) 242 END DO 243 244 DO jn = 1, jpdia2dsed 229 ENDIF 230 231 ! Start writing data 232 ! --------------------- 233 DO jn = 1, jptrased 234 cltra = sedtrcd(jn) ! short title for 3D diagnostic 235 CALL histwrite( nised, cltra, it, trcsedi(:,:,:,jn), ndimt52, ndext52 ) 236 END DO 237 238 DO jn = 1, jpdia3dsed 239 cltra = seddia3d(jn) ! short title for 3D diagnostic 240 CALL histwrite( nised, cltra, it, flxsedi3d(:,:,:,jn), ndimt52, ndext52 ) 241 END DO 242 243 DO jn = 1, jpdia2dsed 245 244 cltra = seddia2d(jn) ! short title for 2D diagnostic 246 245 CALL histwrite( nised, cltra, it, flxsedi2d(:,:,jn ), ndimt51, ndext51 ) 247 END DO 248 249 ENDIF 250 251 ! 3. Closing all files 252 ! -------------------- 246 END DO 247 248 249 ! 3. Closing all files 250 ! -------------------- 253 251 IF( kt == nitsedend ) THEN 254 252 CALL histclo( nised ) -
trunk/NEMO/TOP_SRC/oce_trc.F90
r1177 r1329 143 143 USE daymod , ONLY : nmonth => nmonth !: Current month 144 144 USE daymod , ONLY : nday => nday !: Current day 145 USE daymod , ONLY : adatrj => adatrj !: number of elapsed days since the begining of the run 146 ! !: it is the accumulated duration of previous runs 147 ! !: that may have been run with different time steps. 145 148 146 149 !* ocean fields: here now and after fields * … … 155 158 USE oce , ONLY : rhd => rhd !: in situ density anomalie rhd=(rho-rau0)/rau0 (no units) 156 159 USE oce , ONLY : hdivn => hdivn !: horizontal divergence (1/s) 157 158 160 #if defined key_off_tra 161 USE oce , ONLY : gtu => gtu !: t-, s- and rd horizontal gradient at u- and 162 USE oce , ONLY : gsu => gsu !: v-points at bottom ocean level 163 USE oce , ONLY : gru => gru !: 164 USE oce , ONLY : gtv => gtv !: 165 USE oce , ONLY : gsv => gsv !: 166 USE oce , ONLY : grv => grv !: 167 #endif 159 168 USE lib_mpp , ONLY : lk_mpp => lk_mpp !: Mpp flag 160 169 -
trunk/NEMO/TOP_SRC/trcdia.F90
r1318 r1329 40 40 INTEGER :: ndimt50 !: number of ocean points in index array 41 41 INTEGER :: ndimt51 !: number of ocean points in index array 42 REAL(wp) :: zjulian !: ???? not DOCTOR !42 REAL(wp) :: xjulian !: ???? not DOCTOR ! 43 43 INTEGER , DIMENSION (jpij*jpk) :: ndext50 !: integer arrays for ocean 3D index 44 44 INTEGER , DIMENSION (jpij) :: ndext51 !: integer arrays for ocean surface index … … 151 151 152 152 ! Compute julian date from starting date of the run 153 CALL ymds2ju( nyear, nmonth, nday, rdt, zjulian )154 zjulian = zjulian - adatrj ! set calendar origin to the beginning of the experiment153 CALL ymds2ju( nyear, nmonth, nday, rdt, xjulian ) 154 xjulian = xjulian - adatrj ! set calendar origin to the beginning of the experiment 155 155 IF(lwp)WRITE(numout,*)' ' 156 156 IF(lwp)WRITE(numout,*)' Date 0 used :', nittrc000 & 157 157 & ,' YEAR ', nyear, ' MONTH ', nmonth, ' DAY ', nday & 158 & ,'Julian day : ', zjulian158 & ,'Julian day : ', xjulian 159 159 IF(lwp) WRITE(numout,*) ' indexes of zoom = ', iimi, iima, ijmi, ijma, & 160 160 & ' limit storage in depth = ', ipk … … 168 168 CALL histbeg( clhstnam, jpi, glamt, jpj, gphit, & 169 169 & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & 170 & 0, zjulian, zdt, nhorit5, nit5 , domain_id=nidom)170 & 0, xjulian, zdt, nhorit5, nit5 , domain_id=nidom) 171 171 ! Vertical grid for tracer : gdept 172 172 CALL histvert( nit5, 'deptht', 'Vertical T levels', & … … 298 298 CALL histbeg( clhstnam, jpi, glamt, jpj, gphit, & 299 299 & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & 300 & 0, zjulian, rdt, nhorit6(jn), &300 & 0, xjulian, rdt, nhorit6(jn), & 301 301 & nit6(jn) , domain_id=nidom ) 302 302 … … 536 536 CALL histbeg( clhstnam, jpi, glamt, jpj, gphit, & 537 537 & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & 538 & 0, zjulian, zdt, nhoritd, nitd , domain_id=nidom )538 & 0, xjulian, zdt, nhoritd, nitd , domain_id=nidom ) 539 539 540 540 ! Vertical grid for 2d and 3d arrays … … 682 682 CALL histbeg(clhstnam, jpi, glamt, jpj, gphit, & 683 683 & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & 684 & 0, zjulian, rdt, nhoritb, nitb , domain_id=nidom)684 & 0, xjulian, rdt, nhoritb, nitb , domain_id=nidom) 685 685 ! Vertical grid for biological trends 686 686 CALL histvert(nitb, 'deptht', 'Vertical T levels', & -
trunk/NEMO/TOP_SRC/trcrst.F90
r1287 r1329 24 24 USE lib_mpp 25 25 USE iom 26 USE daymod27 26 28 27 IMPLICIT NONE
Note: See TracChangeset
for help on using the changeset viewer.