- Timestamp:
- 2009-03-03T15:07:48+01:00 (15 years ago)
- Location:
- trunk/NEMO
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/C1D_SRC/diawri_c1d.F90
r1318 r1334 76 76 INTEGER :: ji, jj, ik ! dummy loop indices 77 77 INTEGER :: iimi, iima, ipk, it, ijmi, ijma ! temporary integers 78 INTEGER :: itmod ! 78 79 REAL(wp) :: zsto, zout, zmax, zjulian, zdt ! temporary scalars 79 80 REAL(wp), DIMENSION(jpi,jpj) :: zw2d ! temporary workspace … … 109 110 110 111 ! define time axis 111 it = kt - nit000 + 1 112 it = kt 113 itmod = kt - nit000 + 1 112 114 113 115 … … 142 144 CALL histbeg( clhstnam, jpi, glamt, jpj, gphit, & ! Horizontal grid: glamt and gphit 143 145 & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & 144 & 0, zjulian, zdt, nh_T, nid_T, domain_id=nidom )146 & nit000-1, zjulian, zdt, nh_T, nid_T, domain_id=nidom ) 145 147 CALL histvert( nid_T, "deptht", "Vertical T levels", & ! Vertical grid: gdept 146 & "m", ipk, gdept_0, nz_T )148 & "m", ipk, gdept_0, nz_T, "down" ) 147 149 ! ! Index of ocean points 148 150 CALL wheneq( jpi*jpj*ipk, tmask, 1, 1., ndex_T , ndim_T ) ! volume … … 276 278 ! donne le nombre d'elements, et ndex la liste des indices a sortir 277 279 278 IF( lwp .AND. MOD( it , nwrite ) == 0 ) THEN280 IF( lwp .AND. MOD( itmod, nwrite ) == 0 ) THEN 279 281 WRITE(numout,*) 'dia_wri : write model outputs in NetCDF files at ', kt, 'time-step' 280 282 WRITE(numout,*) '~~~~~~ ' … … 344 346 345 347 ! Create an output files (output.abort.nc) if S < 0 or u > 20 m/s 346 IF( kindic < 0 ) CALL dia_wri_state( 'output.abort' )348 IF( kindic < 0 ) CALL dia_wri_state( 'output.abort', kt ) 347 349 348 350 ! 3. Close all files -
trunk/NEMO/C1D_SRC/step_c1d.F90
r1221 r1334 113 113 114 114 IF( ninist == 1 ) THEN ! Output the initial state and forcings 115 CALL dia_wri_state( 'output.init' ) ; ninist = 0115 CALL dia_wri_state( 'output.init', kstp ) ; ninist = 0 116 116 ENDIF 117 117 -
trunk/NEMO/LIM_SRC_2/limwri_2.F90
r1312 r1334 103 103 ENDIF 104 104 zout = nwrite * rdt_ice / nn_fsbc 105 niter = 0105 niter = nit000 - 1 106 106 zdept(1) = 0. 107 107 … … 110 110 CALL dia_nam ( clhstnam, nwrite, 'icemod' ) 111 111 CALL histbeg ( clhstnam, jpi, glamt, jpj, gphit, & 112 & 1, jpi, 1, jpj, 0, zjulian, rdt_ice, nhorid, nice , domain_id=nidom)113 CALL histvert( nice, "deptht", "Vertical T levels", "m", 1, zdept, ndepid )112 & 1, jpi, 1, jpj, nit000-1, zjulian, rdt_ice, nhorid, nice , domain_id=nidom) 113 CALL histvert( nice, "deptht", "Vertical T levels", "m", 1, zdept, ndepid, "down") 114 114 CALL wheneq ( jpij , tmask(:,:,1), 1, 1., ndex51, ndim) 115 115 … … 182 182 END DO 183 183 184 IF( ( nn_fsbc * niter + nit000 - 1) >= nitend ) CALL histclo( nice )184 IF( ( nn_fsbc * niter ) >= nitend ) CALL histclo( nice ) 185 185 ! 186 186 END SUBROUTINE lim_wri_2 -
trunk/NEMO/LIM_SRC_3/limwri.F90
r1312 r1334 112 112 nice, nhorid, ndim, niter, ndepid 113 113 INTEGER , SAVE :: & 114 nicea, nhorida, n itera, ndimitd114 nicea, nhorida, ndimitd 115 115 INTEGER , DIMENSION( jpij ) , SAVE :: & 116 116 ndex51 … … 141 141 ENDIF 142 142 zout = nwrite * rdt_ice / nn_fsbc 143 niter = 0143 niter = nit000 - 1 144 144 zdept(1) = 0. 145 145 … … 147 147 zjulian = zjulian - adatrj ! set calendar origin to the beginning of the experiment 148 148 CALL dia_nam ( clhstnam, nwrite, 'icemod' ) 149 CALL histbeg ( clhstnam, jpi, glamt, jpj, gphit, 1, jpi, 1, jpj, 0, zjulian, rdt_ice, nhorid, nice, domain_id=nidom ) 150 CALL histvert( nice, "deptht", "Vertical T levels", "m", 1, zdept, ndepid) 149 CALL histbeg ( clhstnam, jpi, glamt, jpj, gphit, 1, jpi, 1, jpj, nit000-1, zjulian, rdt_ice, & 150 & nhorid, nice, domain_id=nidom ) 151 CALL histvert( nice, "deptht", "Vertical T levels", "m", 1, zdept, ndepid, "down") 151 152 CALL wheneq ( jpij , tmask(:,:,1), 1, 1., ndex51, ndim) 152 153 … … 169 170 clop = "ave(x)" 170 171 zout = nwrite * rdt_ice / nn_fsbc 171 nitera = 0172 172 zdept(1) = 0. 173 173 … … 175 175 CALL histbeg ( clhstnama, jpi, glamt, jpj, gphit, & 176 176 1, jpi, 1, jpj, & ! zoom 177 0, zjulian, rdt_ice, & ! time177 nit000 -1, zjulian, rdt_ice, & ! time 178 178 nhorida, & ! ? linked with horizontal ... 179 179 nicea , domain_id=nidom) ! file … … 316 316 END DO 317 317 318 IF ( ( nn_fsbc * niter + nit000 - 1) >= nitend .OR. kindic < 0 ) THEN318 IF ( ( nn_fsbc * niter ) >= nitend .OR. kindic < 0 ) THEN 319 319 IF( lwp) WRITE(numout,*) ' Closing the icemod file ' 320 320 CALL histclo( nice ) … … 375 375 ! not yet implemented 376 376 377 IF ( ( nn_fsbc * niter + nit000 - 1) >= nitend .OR. kindic < 0 ) THEN377 IF ( ( nn_fsbc * niter ) >= nitend .OR. kindic < 0 ) THEN 378 378 IF(lwp) WRITE(numout,*) ' Closing the icemod file ' 379 379 CALL histclo( nicea ) -
trunk/NEMO/OPA_SRC/DIA/diagap.F90
r1317 r1334 82 82 !! * local declarations 83 83 INTEGER :: ji, jj, jk ! dummy loop indices 84 INTEGER :: it 84 INTEGER :: it, itmod ! time step indices 85 85 CHARACTER (len=40) :: clhstnam 86 86 CHARACTER (len=40) :: clop … … 170 170 ! Horizontal grid : zphi() 171 171 CALL histbeg( clhstnam, 1, zfoo, 1, zloo, & 172 1, 1, 1, 1, 0, zjulian, zdt, nhoridg, numgap, domain_id=nidom )172 1, 1, 1, 1, nit000-1, zjulian, zdt, nhoridg, numgap, domain_id=nidom ) 173 173 ! Vertical grids : gdept, gdepw 174 174 CALL histvert( numgap, "deptht", "Vertical T levels", & 175 "m", jpk, gdept_0, ndepidg )175 "m", jpk, gdept_0, ndepidg, "down" ) 176 176 177 177 ! define fields to be stored … … 198 198 ! ---------------------- 199 199 200 it = kt - nit000 + 1 ! define time axis 201 IF( MOD( it, ngap ) == 0 ) THEN 200 itmod = kt - nit000 + 1 ! define time axis 201 it = kt 202 IF( MOD( itmod, ngap ) == 0 ) THEN 202 203 203 204 ! initialization … … 240 241 ! ----------------------------====== 241 242 242 IF( MOD( it , nprg ) == 0 ) THEN243 IF( MOD( itmod, nprg ) == 0 ) THEN 243 244 IF(lwp) THEN 244 245 WRITE(numout,*) 'dia_gap: time step = ', kt, 'model - data' -
trunk/NEMO/OPA_SRC/DIA/diaptr.F90
r1317 r1334 418 418 419 419 CHARACTER (len=40) :: clhstnam, clop ! temporary names 420 INTEGER :: iline, it, ji 420 INTEGER :: iline, it, ji, itmod ! 421 421 REAL(wp) :: zsto, zout, zdt, zjulian ! temporary scalars 422 422 REAL(wp), DIMENSION(jpj) :: zphi, zfoo … … 424 424 425 425 ! define time axis 426 it = kt - nit000 + 1 426 it = kt 427 itmod = kt - nit000 + 1 427 428 428 429 ! Initialization … … 481 482 ! Horizontal grid : zphi() 482 483 CALL histbeg(clhstnam, 1, zfoo, jpj, zphi, & 483 1, 1, 1, jpj, 0, zjulian, zdt, nhoridz, numptr, domain_id=nidom )484 1, 1, 1, jpj, nit000-1, zjulian, zdt, nhoridz, numptr, domain_id=nidom ) 484 485 ! Vertical grids : gdept_0, gdepw_0 485 486 CALL histvert( numptr, "deptht", "Vertical T levels", & 486 "m", jpk, gdept_0, ndepidzt )487 "m", jpk, gdept_0, ndepidzt, "down" ) 487 488 CALL histvert( numptr, "depthw", "Vertical W levels", & 488 "m", jpk, gdepw_0, ndepidzw )489 "m", jpk, gdepw_0, ndepidzw, "down" ) 489 490 490 491 ! Zonal mean T and S … … 555 556 ENDIF 556 557 557 IF( MOD( it , nf_ptr ) == 0 ) THEN558 IF( MOD( itmod, nf_ptr ) == 0 ) THEN 558 559 559 560 IF(lwp) THEN -
trunk/NEMO/OPA_SRC/DIA/diawri.F90
r1318 r1334 109 109 INTEGER :: inum = 11 ! temporary logical unit 110 110 INTEGER :: & 111 iimi, iima, ipk, it, 111 iimi, iima, ipk, it, itmod, & ! temporary integers 112 112 ijmi, ijma ! " " 113 113 REAL(wp) :: & … … 148 148 149 149 ! define time axis 150 it = kt - nit000 + 1 150 it = kt 151 itmod = kt - nit000 + 1 151 152 152 153 … … 184 185 CALL histbeg( clhstnam, jpi, glamt, jpj, gphit, & ! Horizontal grid: glamt and gphit 185 186 & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & 186 & 0, zjulian, zdt, nh_T, nid_T, domain_id=nidom )187 & nit000-1, zjulian, zdt, nh_T, nid_T, domain_id=nidom ) 187 188 CALL histvert( nid_T, "deptht", "Vertical T levels", & ! Vertical grid: gdept 188 & "m", ipk, gdept_0, nz_T )189 & "m", ipk, gdept_0, nz_T, "down" ) 189 190 ! ! Index of ocean points 190 191 CALL wheneq( jpi*jpj*ipk, tmask, 1, 1., ndex_T , ndim_T ) ! volume … … 197 198 CALL histbeg( clhstnam, jpi, glamu, jpj, gphiu, & ! Horizontal grid: glamu and gphiu 198 199 & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & 199 & 0, zjulian, zdt, nh_U, nid_U, domain_id=nidom )200 & nit000-1, zjulian, zdt, nh_U, nid_U, domain_id=nidom ) 200 201 CALL histvert( nid_U, "depthu", "Vertical U levels", & ! Vertical grid: gdept 201 & "m", ipk, gdept_0, nz_U )202 & "m", ipk, gdept_0, nz_U, "down" ) 202 203 ! ! Index of ocean points 203 204 CALL wheneq( jpi*jpj*ipk, umask, 1, 1., ndex_U , ndim_U ) ! volume … … 210 211 CALL histbeg( clhstnam, jpi, glamv, jpj, gphiv, & ! Horizontal grid: glamv and gphiv 211 212 & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & 212 & 0, zjulian, zdt, nh_V, nid_V, domain_id=nidom )213 & nit000-1, zjulian, zdt, nh_V, nid_V, domain_id=nidom ) 213 214 CALL histvert( nid_V, "depthv", "Vertical V levels", & ! Vertical grid : gdept 214 & "m", ipk, gdept_0, nz_V )215 & "m", ipk, gdept_0, nz_V, "down" ) 215 216 ! ! Index of ocean points 216 217 CALL wheneq( jpi*jpj*ipk, vmask, 1, 1., ndex_V , ndim_V ) ! volume … … 223 224 CALL histbeg( clhstnam, jpi, glamt, jpj, gphit, & ! Horizontal grid: glamt and gphit 224 225 & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & 225 & 0, zjulian, zdt, nh_W, nid_W, domain_id=nidom )226 & nit000-1, zjulian, zdt, nh_W, nid_W, domain_id=nidom ) 226 227 CALL histvert( nid_W, "depthw", "Vertical W levels", & ! Vertical grid: gdepw 227 & "m", ipk, gdepw_0, nz_W )228 & "m", ipk, gdepw_0, nz_W, "down" ) 228 229 229 230 … … 406 407 ! donne le nombre d'elements, et ndex la liste des indices a sortir 407 408 408 IF( lwp .AND. MOD( it , nwrite ) == 0 ) THEN409 IF( lwp .AND. MOD( itmod, nwrite ) == 0 ) THEN 409 410 WRITE(numout,*) 'dia_wri : write model outputs in NetCDF files at ', kt, 'time-step' 410 411 WRITE(numout,*) '~~~~~~ ' … … 512 513 513 514 ! Create an output files (output.abort.nc) if S < 0 or u > 20 m/s 514 IF( kindic < 0 ) CALL dia_wri_state( 'output.abort' )515 IF( kindic < 0 ) CALL dia_wri_state( 'output.abort', kt ) 515 516 516 517 ! 3. Close all files … … 526 527 527 528 528 SUBROUTINE dia_wri_state( cdfile_name )529 SUBROUTINE dia_wri_state( cdfile_name, kt ) 529 530 !!--------------------------------------------------------------------- 530 531 !! *** ROUTINE dia_wri_state *** … … 546 547 !!---------------------------------------------------------------------- 547 548 !! * Arguments 548 CHARACTER (len=* ), INTENT( in ) :: &549 cdfile_name ! name of the file created549 CHARACTER (len=* ), INTENT( in ) :: cdfile_name ! name of the file created 550 INTEGER , INTENT( in ) :: kt ! ocean time-step index 550 551 551 552 !! * Local declarations … … 588 589 zjulian = zjulian - adatrj ! set calendar origin to the beginning of the experiment 589 590 CALL histbeg( clname, jpi, glamt, jpj, gphit, & 590 1, jpi, 1, jpj, 0, zjulian, zdt, nh_i, id_i, domain_id=nidom ) ! Horizontal grid : glamt and gphit591 1, jpi, 1, jpj, nit000-1, zjulian, zdt, nh_i, id_i, domain_id=nidom ) ! Horizontal grid : glamt and gphit 591 592 CALL histvert( id_i, "deptht", "Vertical T levels", & ! Vertical grid : gdept 592 "m", jpk, gdept_0, nz_i )593 "m", jpk, gdept_0, nz_i, "down") 593 594 594 595 ! Declare all the output fields as NetCDF variables … … 634 635 635 636 ! Write all fields on T grid 636 CALL histwrite( id_i, "votemper", 1, tn , jpi*jpj*jpk, idex ) ! now temperature637 CALL histwrite( id_i, "vosaline", 1, sn , jpi*jpj*jpk, idex ) ! now salinity638 #if defined key_dynspg_rl 639 CALL histwrite( id_i, "sobarstf", 1, bsfn , jpi*jpj , idex ) ! barotropic streamfunction637 CALL histwrite( id_i, "votemper", kt, tn , jpi*jpj*jpk, idex ) ! now temperature 638 CALL histwrite( id_i, "vosaline", kt, sn , jpi*jpj*jpk, idex ) ! now salinity 639 #if defined key_dynspg_rl 640 CALL histwrite( id_i, "sobarstf", kt, bsfn , jpi*jpj , idex ) ! barotropic streamfunction 640 641 #else 641 CALL histwrite( id_i, "sossheig", 1, sshn , jpi*jpj , idex ) ! sea surface height642 #endif 643 CALL histwrite( id_i, "vozocrtx", 1, un , jpi*jpj*jpk, idex ) ! now i-velocity644 CALL histwrite( id_i, "vomecrty", 1, vn , jpi*jpj*jpk, idex ) ! now j-velocity645 CALL histwrite( id_i, "vovecrtz", 1, wn , jpi*jpj*jpk, idex ) ! now k-velocity646 CALL histwrite( id_i, "sowaflup", 1, emp , jpi*jpj , idex ) ! freshwater budget647 CALL histwrite( id_i, "sohefldo", 1, qsr + qns, jpi*jpj , idex ) ! total heat flux648 CALL histwrite( id_i, "soshfldo", 1, qsr , jpi*jpj , idex ) ! solar heat flux649 CALL histwrite( id_i, "soicecov", 1, fr_i , jpi*jpj , idex ) ! ice fraction650 CALL histwrite( id_i, "sozotaux", 1, utau , jpi*jpj , idex ) ! i-wind stress651 CALL histwrite( id_i, "sometauy", 1, vtau , jpi*jpj , idex ) ! j-wind stress642 CALL histwrite( id_i, "sossheig", kt, sshn , jpi*jpj , idex ) ! sea surface height 643 #endif 644 CALL histwrite( id_i, "vozocrtx", kt, un , jpi*jpj*jpk, idex ) ! now i-velocity 645 CALL histwrite( id_i, "vomecrty", kt, vn , jpi*jpj*jpk, idex ) ! now j-velocity 646 CALL histwrite( id_i, "vovecrtz", kt, wn , jpi*jpj*jpk, idex ) ! now k-velocity 647 CALL histwrite( id_i, "sowaflup", kt, emp , jpi*jpj , idex ) ! freshwater budget 648 CALL histwrite( id_i, "sohefldo", kt, qsr + qns, jpi*jpj , idex ) ! total heat flux 649 CALL histwrite( id_i, "soshfldo", kt, qsr , jpi*jpj , idex ) ! solar heat flux 650 CALL histwrite( id_i, "soicecov", kt, fr_i , jpi*jpj , idex ) ! ice fraction 651 CALL histwrite( id_i, "sozotaux", kt, utau , jpi*jpj , idex ) ! i-wind stress 652 CALL histwrite( id_i, "sometauy", kt, vtau , jpi*jpj , idex ) ! j-wind stress 652 653 653 654 ! 3. Close the file -
trunk/NEMO/OPA_SRC/TRD/trdmld.F90
r1317 r1334 230 230 INTEGER, INTENT( in ) :: kt ! ocean time-step index 231 231 !! 232 INTEGER :: ji, jj, jk, jl, ik, it 232 INTEGER :: ji, jj, jk, jl, ik, it, itmod 233 233 LOGICAL :: lldebug = .TRUE. 234 234 REAL(wp) :: zavt, zfn, zfn2 … … 389 389 smltrd(:,:,:) = smltrd(:,:,:) * ucf ! is no longer used, and is reset to 0. at next time step) 390 390 391 it = kt - nit000 + 1 392 393 MODULO_NTRD : IF( MOD( it, ntrd ) == 0 ) THEN ! nitend MUST be multiple of ntrd 391 ! define time axis 392 it = kt 393 itmod = kt - nit000 + 1 394 395 MODULO_NTRD : IF( MOD( itmod, ntrd ) == 0 ) THEN ! nitend MUST be multiple of ntrd 394 396 ! 395 397 ztmltot (:,:) = 0.e0 ; zsmltot (:,:) = 0.e0 ! reset arrays to zero … … 576 578 #if defined key_dimgout 577 579 578 IF( MOD( it , ntrd ) == 0 ) THEN580 IF( MOD( itmod, ntrd ) == 0 ) THEN 579 581 iyear = ndastp/10000 580 582 imon = (ndastp-iyear*10000)/100 … … 593 595 ! ---------------------------------- 594 596 595 IF( lwp .AND. MOD( it , ntrd ) == 0 ) THEN597 IF( lwp .AND. MOD( itmod , ntrd ) == 0 ) THEN 596 598 WRITE(numout,*) ' ' 597 599 WRITE(numout,*) 'trd_mld : write trends in the NetCDF file :' … … 683 685 #endif 684 686 685 IF( MOD( it , ntrd ) == 0 ) THEN687 IF( MOD( itmod, ntrd ) == 0 ) THEN 686 688 ! 687 689 ! III.5 Reset cumulative arrays to zero … … 876 878 IF(lwp) WRITE(numout,*) ' Name of NETCDF file ', clhstnam 877 879 CALL histbeg( clhstnam, jpi, glamt, jpj, gphit, & 878 & 1, jpi, 1, jpj, 0, zjulian, rdt, nh_t, nidtrd, domain_id=nidom )880 & 1, jpi, 1, jpj, nit000-1, zjulian, rdt, nh_t, nidtrd, domain_id=nidom ) 879 881 880 882 !-- Define the ML depth variable -
trunk/NEMO/OPA_SRC/TRD/trdvor.F90
r1317 r1334 312 312 INTEGER, INTENT( in ) :: kt ! ocean time-step index 313 313 !! 314 INTEGER :: ji, jj, jk, jl, it 314 INTEGER :: ji, jj, jk, jl, it, itmod 315 315 REAL(wp) :: zmean 316 316 REAL(wp), DIMENSION(jpi,jpj) :: zun, zvn … … 406 406 407 407 ! define time axis 408 it= kt - nit000 + 1 408 it = kt 409 itmod = kt - nit000 + 1 409 410 410 411 IF( MOD( it, ntrd ) == 0 ) THEN … … 455 456 IF( kt >= nit000+1 ) THEN 456 457 457 IF( lwp .AND. MOD( it , ntrd ) == 0 ) THEN458 IF( lwp .AND. MOD( itmod, ntrd ) == 0 ) THEN 458 459 WRITE(numout,*) '' 459 460 WRITE(numout,*) 'trd_vor : write trends in the NetCDF file at kt = ', kt … … 568 569 IF(lwp) WRITE(numout,*) ' Name of NETCDF file ', clhstnam 569 570 CALL histbeg( clhstnam, jpi, glamf, jpj, gphif,1, jpi, & ! Horizontal grid : glamt and gphit 570 & 1, jpj, 0, zjulian, rdt, nh_t, nidvor, domain_id=nidom )571 & 1, jpj, nit000-1, zjulian, rdt, nh_t, nidvor, domain_id=nidom ) 571 572 CALL wheneq( jpi*jpj, fmask, 1, 1., ndexvor1, ndimvor1 ) ! surface 572 573 -
trunk/NEMO/OPA_SRC/step.F90
r1246 r1334 195 195 196 196 IF( ninist == 1 ) THEN ! Output the initial state and forcings 197 CALL dia_wri_state( 'output.init' )197 CALL dia_wri_state( 'output.init', kstp ) 198 198 ninist = 0 199 199 ENDIF -
trunk/NEMO/TOP_SRC/SED/sedwri.F90
r1329 r1334 40 40 INTEGER , DIMENSION(jpij) , SAVE :: ndext51 41 41 REAL(wp) :: zsto,zout, zdt 42 INTEGER :: iimi, iima, ijmi, ijma,ipk, it 42 INTEGER :: iimi, iima, ijmi, ijma,ipk, it, itmod 43 43 INTEGER :: jn 44 44 CHARACTER(len = 20) :: cltra , cltrau … … 76 76 77 77 ! define time axis 78 it = kt - nitsed000 + 1 78 it = kt 79 itmod = kt - nitsed000 + 1 79 80 80 81 … … 185 186 CALL histbeg ( clhstnam, jpi, glamt, jpj, gphit, & 186 187 & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & 187 & 0, zjulian, zdt, nhorised, nised , domain_id=nidom )188 CALL histvert( nised,'deptht','Vertic.sed.T levels','m',ipk, profsed, ndepsed )188 & nitsed000-1, zjulian, zdt, nhorised, nised , domain_id=nidom ) 189 CALL histvert( nised,'deptht','Vertic.sed.T levels','m',ipk, profsed, ndepsed, 'down' ) 189 190 CALL wheneq ( jpi*jpj*ipk, tmasksed, 1, 1., ndext52, ndimt52 ) 190 191 CALL wheneq ( jpi*jpj, tmasksed(:,:,1), 1, 1., ndext51, ndimt51 ) -
trunk/NEMO/TOP_SRC/TRP/trdmld_trc.F90
r1317 r1334 406 406 !!---------------------------------------------------------------------- 407 407 INTEGER, INTENT( in ) :: kt ! ocean time-step index 408 INTEGER :: ji, jj, jk, jl, ik, it, jn 408 INTEGER :: ji, jj, jk, jl, ik, it, jn, itmod 409 409 REAL(wp) :: zavt, zfn, zfn2 410 410 !! … … 575 575 tmltrd_trc(:,:,:,:) = tmltrd_trc(:,:,:,:) * ucf_trc 576 576 577 it = kt - nit000 + 1 578 579 MODULO_NTRD : IF( MOD( it, ntrd_trc ) == 0 ) THEN ! nitend MUST be multiple of ntrd_trc 577 ! define time axis 578 it = kt 579 itmod = kt - nit000 + 1 580 581 MODULO_NTRD : IF( MOD( itmod, ntrd_trc ) == 0 ) THEN ! nitend MUST be multiple of ntrd_trc 580 582 ! 581 583 ztmltot (:,:,:) = 0.e0 ! reset arrays to zero … … 819 821 ! ---------------------------------- 820 822 821 IF( lwp .AND. MOD( it , ntrd_trc ) == 0 ) THEN823 IF( lwp .AND. MOD( itmod , ntrd_trc ) == 0 ) THEN 822 824 WRITE(numout,*) ' ' 823 825 WRITE(numout,*) 'trd_mld_trc : write passive tracer trends in the NetCDF file :' … … 930 932 # endif /* key_dimgout */ 931 933 932 IF( MOD( it , ntrd_trc ) == 0 ) THEN934 IF( MOD( itmod, ntrd_trc ) == 0 ) THEN 933 935 ! 934 936 ! Reset cumulative arrays to zero … … 999 1001 INTEGER, INTENT( in ) :: kt ! ocean time-step index 1000 1002 #if defined key_lobster 1001 INTEGER :: jl, it 1003 INTEGER :: jl, it, itmod 1002 1004 LOGICAL :: llwarn = .TRUE., lldebug = .TRUE. 1003 1005 REAL(wp), DIMENSION(jpi,jpj,jpdiabio) :: ztmltrdbio2 ! only needed for mean diagnostics … … 1059 1061 tmltrd_bio(:,:,:) = tmltrd_bio(:,:,:) * ucf_trc 1060 1062 1061 MODULO_NTRD : IF( MOD( kt, ntrd_trc ) == 0 ) THEN ! nitend MUST be multiple of ntrd 1063 ! define time axis 1064 it = kt 1065 itmod = kt - nit000 + 1 1066 1067 MODULO_NTRD : IF( MOD( itmod, ntrd_trc ) == 0 ) THEN ! nitend MUST be multiple of ntrd 1062 1068 ! 1063 1069 zfn = float(nmoymltrdbio) ; zfn2 = zfn * zfn … … 1132 1138 1133 1139 ! define time axis 1134 it = kt - nit000 + 1 1135 1136 IF( lwp .AND. MOD( it , ntrd_trc ) == 0 ) THEN 1140 it = kt 1141 itmod = kt - nit000 + 1 1142 1143 IF( lwp .AND. MOD( itmod , ntrd_trc ) == 0 ) THEN 1137 1144 WRITE(numout,*) ' ' 1138 1145 WRITE(numout,*) 'trd_mld_bio : write ML bio trends in the NetCDF file :' … … 1174 1181 # endif /* key_dimgout */ 1175 1182 1176 IF( MOD( it , ntrd_trc ) == 0 ) THEN1183 IF( MOD( itmod, ntrd_trc ) == 0 ) THEN 1177 1184 ! 1178 1185 ! III.5 Reset cumulative arrays to zero … … 1455 1462 CALL dia_nam( clhstnam, ntrd_trc, csuff ) 1456 1463 CALL histbeg( clhstnam, jpi, glamt, jpj, gphit, & 1457 & 1, jpi, 1, jpj, 0, zjulian, rdt, nh_t(jn), nidtrd(jn), domain_id=nidom )1464 & 1, jpi, 1, jpj, nit000-1, zjulian, rdt, nh_t(jn), nidtrd(jn), domain_id=nidom ) 1458 1465 1459 1466 !-- Define the ML depth variable … … 1468 1475 CALL dia_nam( clhstnam, ntrd_trc, 'trdbio' ) 1469 1476 CALL histbeg( clhstnam, jpi, glamt, jpj, gphit, & 1470 & 1, jpi, 1, jpj, 0, zjulian, rdt, nh_tb, nidtrdbio, domain_id=nidom )1477 & 1, jpi, 1, jpj, nit000-1, zjulian, rdt, nh_tb, nidtrdbio, domain_id=nidom ) 1471 1478 #endif 1472 1479 -
trunk/NEMO/TOP_SRC/trcdia.F90
r1329 r1334 111 111 CHARACTER (len=80) :: cltral 112 112 REAL(wp) :: zsto, zout, zdt 113 INTEGER :: iimi, iima, ijmi, ijma, ipk, it 113 INTEGER :: iimi, iima, ijmi, ijma, ipk, it, itmod 114 114 !!---------------------------------------------------------------------- 115 115 … … 141 141 142 142 ! define time axis 143 it = kt - nittrc000 + 1 143 it = kt 144 itmod = kt - nittrc000 + 1 144 145 145 146 ! Define NETCDF files and fields at beginning of first time step … … 168 169 CALL histbeg( clhstnam, jpi, glamt, jpj, gphit, & 169 170 & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & 170 & 0, xjulian, zdt, nhorit5, nit5 , domain_id=nidom)171 & nittrc000-1, xjulian, zdt, nhorit5, nit5 , domain_id=nidom) 171 172 ! Vertical grid for tracer : gdept 172 173 CALL histvert( nit5, 'deptht', 'Vertical T levels', & 173 & 'm', ipk, gdept_0, ndepit5 )174 & 'm', ipk, gdept_0, ndepit5, 'down') 174 175 175 176 ! Index of ocean points in 3D and 2D (surface) … … 201 202 ! --------------------------------------- 202 203 203 IF( lwp .AND. MOD( it , nwritetrc ) == 0 ) THEN204 IF( lwp .AND. MOD( itmod, nwritetrc ) == 0 ) THEN 204 205 WRITE(numout,*) 'trcdit_wr : write NetCDF passive tracer concentrations at ', kt, 'time-step' 205 206 WRITE(numout,*) '~~~~~~~~~ ' … … 246 247 CHARACTER (len=10) :: csuff 247 248 INTEGER :: jn, jl 248 INTEGER :: iimi, iima, ijmi, ijma, ipk, it 249 INTEGER :: iimi, iima, ijmi, ijma, ipk, it, itmod 249 250 REAL(wp) :: zsto, zout, zdt 250 251 !!---------------------------------------------------------------------- … … 277 278 278 279 ! define time axis 279 it = kt - nittrc000 + 1 280 it = kt 281 itmod = kt - nittrc000 + 1 280 282 281 283 ! Define the NETCDF files (one per tracer) … … 298 300 CALL histbeg( clhstnam, jpi, glamt, jpj, gphit, & 299 301 & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & 300 & 0, xjulian, rdt, nhorit6(jn), &302 & nittrc000-1, xjulian, rdt, nhorit6(jn), & 301 303 & nit6(jn) , domain_id=nidom ) 302 304 303 305 ! Vertical grid for tracer trend - one per each tracer IF needed 304 306 CALL histvert( nit6(jn), 'deptht', 'Vertical T levels', & 305 & 'm', ipk, gdept_0, ndepit6(jn) )307 & 'm', ipk, gdept_0, ndepit6(jn), 'down' ) 306 308 END IF 307 309 END DO … … 411 413 ! trends for tracer concentrations 412 414 413 IF( lwp .AND. MOD( it , nwritetrd ) == 0 ) THEN415 IF( lwp .AND. MOD( itmod, nwritetrd ) == 0 ) THEN 414 416 WRITE(numout,*) 'trcdid_wr : write NetCDF dynamical trends at ', kt, 'time-step' 415 417 WRITE(numout,*) '~~~~~~ ' … … 485 487 CHARACTER (len=80) :: cltral 486 488 INTEGER :: jn 487 INTEGER :: iimi, iima, ijmi, ijma, ipk, it 489 INTEGER :: iimi, iima, ijmi, ijma, ipk, it, itmod 488 490 REAL(wp) :: zsto, zout, zdt 489 491 !!---------------------------------------------------------------------- … … 516 518 517 519 ! define time axis 518 it = kt - nittrc000 + 1 520 it = kt 521 itmod = kt - nittrc000 + 1 519 522 520 523 ! 1. Define NETCDF files and fields at beginning of first time step … … 536 539 CALL histbeg( clhstnam, jpi, glamt, jpj, gphit, & 537 540 & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & 538 & 0, xjulian, zdt, nhoritd, nitd , domain_id=nidom )541 & nittrc000-1, xjulian, zdt, nhoritd, nitd , domain_id=nidom ) 539 542 540 543 ! Vertical grid for 2d and 3d arrays 541 544 542 545 CALL histvert( nitd, 'deptht', 'Vertical T levels', & 543 & 'm', ipk, gdept_0, ndepitd )546 & 'm', ipk, gdept_0, ndepitd, 'down') 544 547 545 548 ! Declare all the output fields as NETCDF variables … … 577 580 ! --------------------- 578 581 579 IF( lwp .AND. MOD( it , nwritedia ) == 0 ) THEN582 IF( lwp .AND. MOD( itmod, nwritedia ) == 0 ) THEN 580 583 WRITE(numout,*) 'trcdii_wr : write NetCDF additional arrays at ', kt, 'time-step' 581 584 WRITE(numout,*) '~~~~~~ ' … … 635 638 CHARACTER (len=80) :: cltral 636 639 INTEGER :: ji, jj, jk, jn 637 INTEGER :: iimi, iima, ijmi, ijma, ipk, it 640 INTEGER :: iimi, iima, ijmi, ijma, ipk, it, itmod 638 641 REAL(wp) :: zsto, zout, zdt 639 642 !!---------------------------------------------------------------------- … … 666 669 667 670 ! define time axis 668 it = kt - nittrc000 + 1 671 it = kt 672 itmod = kt - nittrc000 + 1 669 673 670 674 ! Define NETCDF files and fields at beginning of first time step … … 680 684 IF(lwp)WRITE(numout,*) " Name of NETCDF file for biological trends ", clhstnam 681 685 ! Horizontal grid : glamt and gphit 682 686 CALL histbeg(clhstnam, jpi, glamt, jpj, gphit, & 683 687 & iimi, iima-iimi+1, ijmi, ijma-ijmi+1, & 684 & 0, xjulian, rdt, nhoritb, nitb , domain_id=nidom)688 & nittrc000-1, xjulian, rdt, nhoritb, nitb , domain_id=nidom) 685 689 ! Vertical grid for biological trends 686 690 CALL histvert(nitb, 'deptht', 'Vertical T levels', & 687 & 'm', ipk, gdept_0, ndepitb )691 & 'm', ipk, gdept_0, ndepitb, 'down') 688 692 689 693 ! Declare all the output fields as NETCDF variables … … 710 714 711 715 ! biological trends 712 IF( lwp .AND. MOD( it , nwritebio ) == 0 ) THEN716 IF( lwp .AND. MOD( itmod, nwritebio ) == 0 ) THEN 713 717 WRITE(numout,*) 'trcdit_wr : write NetCDF biological trends at ', kt, 'time-step' 714 718 WRITE(numout,*) '~~~~~~ '
Note: See TracChangeset
for help on using the changeset viewer.