Changeset 1482 for trunk/NEMO
- Timestamp:
- 2009-07-03T17:28:06+02:00 (16 years ago)
- Location:
- trunk/NEMO
- Files:
-
- 22 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/LIM_SRC_2/limsbc_2.F90
r1479 r1482 25 25 USE lbclnk ! ocean lateral boundary condition 26 26 USE in_out_manager ! I/O manager 27 USE iom ! 27 28 USE albedo ! albedo parameters 28 29 USE prtctl ! Print control … … 92 93 REAL(wp) :: zsang, zmod, zfm 93 94 REAL(wp), DIMENSION(jpi,jpj) :: ztio_u, ztio_v ! ocean stress below sea-ice 95 REAL(wp), DIMENSION(jpi,jpj) :: zqnsoce ! save qns before its modification by ice model 94 96 95 97 !!--------------------------------------------------------------------- … … 121 123 !!gm re-verifies the non solar expression, especially over open ocen 122 124 !!gm 125 zqnsoce(:,:) = qns(:,:) 123 126 DO jj = 1, jpj 124 127 DO ji = 1, jpi … … 185 188 END DO 186 189 END DO 187 190 191 CALL iom_put( 'qns_io_cea', qns(:,:) - zqnsoce(:,:) * pfrld(:,:) ) 192 CALL iom_put( 'qsr_io_cea', fstric(:,:) * (1. - pfrld(:,:)) ) 193 188 194 !------------------------------------------! 189 195 ! mass flux at the ocean surface ! … … 275 281 276 282 !-----------------------------------------------! 277 ! Storing the transmitted variables!283 ! Coupling variables ! 278 284 !-----------------------------------------------! 279 280 fr_i(:,:) = 1.0 - frld(:,:) ! sea-ice fraction281 285 282 286 IF ( lk_cpl ) THEN … … 286 290 CALL albedo_ice( tn_ice, reshape( hicif, (/jpi,jpj,1/) ), reshape( hsnif, (/jpi,jpj,1/) ), zalbp, zalb ) 287 291 alb_ice(:,:,1) = 0.5 * ( zalbp(:,:,1) + zalb (:,:,1) ) ! Ice albedo (mean clear and overcast skys) 292 CALL iom_put( "icealb_cea", alb_ice(:,:,1) * fr_i(:,:) ) ! ice albedo 288 293 ENDIF 289 294 -
trunk/NEMO/LIM_SRC_2/limthd_2.F90
r1465 r1482 20 20 USE lbclnk 21 21 USE in_out_manager ! I/O manager 22 USE iom ! IOM library 22 23 USE ice_2 ! LIM sea-ice variables 23 24 USE sbc_oce ! … … 87 88 REAL(wp) :: zfntlat, zpareff ! test. the val. of lead heat budget 88 89 REAL(wp) :: zfi ! temporary scalar 89 REAL(wp), DIMENSION(jpi,jpj) :: z hicifp ! ice thickness for outputs90 REAL(wp), DIMENSION(jpi,jpj) :: ztmp ! working array 90 91 REAL(wp), DIMENSION(jpi,jpj) :: zqlbsbq ! link with lead energy budget qldif 91 92 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zmsk ! working array … … 109 110 rdmsnif(:,:) = 0.e0 ! variation of snow mass per unit area 110 111 rdmicif(:,:) = 0.e0 ! variation of ice mass per unit area 111 hicifp (:,:) = 0.e0 ! daily thermodynamic ice production.112 112 zmsk (:,:,:) = 0.e0 113 113 … … 222 222 fbif (ji,jj) = zindb * ( fsbbq(ji,jj) / MAX( (1.0 - frld(ji,jj)) , epsi20 ) + fdtcn(ji,jj) ) 223 223 224 ! computation of the dailythermodynamic ice production (only needed for output)225 zhicifp(ji,jj) = hicif(ji,jj) * ( 1.0 - frld(ji,jj) )224 ! computation of the thermodynamic ice production (only needed for output) 225 hicifp(ji,jj) = hicif(ji,jj) * ( 1.0 - frld(ji,jj) ) 226 226 END DO 227 227 END DO 228 228 229 229 sst_m(:,:) = sst_m(:,:) - rt0 230 230 231 231 ! Select icy points and fulfill arrays for the vectorial grid. 232 232 !---------------------------------------------------------------------- … … 247 247 CALL prt_ctl(tab2d_1=qcmif, clinfo1=' lim_thd: qcmif : ', tab2d_2=fbif , clinfo2=' fbif : ') 248 248 zmsk(:,:,1) = tms(:,:) 249 CALL prt_ctl(tab2d_1=qcmif , clinfo1=' lim_thd: qcmif: ', mask1=zmsk)250 CALL prt_ctl(tab2d_1= zhicifp, clinfo1=' lim_thd: zhicifp : ')249 CALL prt_ctl(tab2d_1=qcmif , clinfo1=' lim_thd: qcmif : ', mask1=zmsk) 250 CALL prt_ctl(tab2d_1=hicifp, clinfo1=' lim_thd: hicifp : ') 251 251 WRITE(charout, FMT="('lim_thd: nbpb = ',I4)") nbpb 252 252 CALL prt_ctl_info(charout) … … 309 309 CALL tab_1d_2d_2( nbpb, fdvolif , npb, dvlbq_1d (1:nbpb) , jpi, jpj ) 310 310 CALL tab_1d_2d_2( nbpb, rdvonif , npb, dvnbq_1d (1:nbpb) , jpi, jpj ) 311 ! 312 ENDIF 313 314 311 CALL tab_1d_2d_2( nbpb, qsr_ice(:,:,1), npb, qsr_ice_1d(1:nbpb) , jpi, jpj ) 312 CALL tab_1d_2d_2( nbpb, qns_ice(:,:,1), npb, qns_ice_1d(1:nbpb) , jpi, jpj ) 313 IF( .NOT. lk_cpl ) CALL tab_1d_2d_2( nbpb, qla_ice(:,:,1), npb, qla_ice_1d(1:nbpb) , jpi, jpj ) 314 ! 315 ENDIF 316 315 317 ! Up-date sea ice thickness 316 318 !-------------------------- … … 395 397 DO ji = 1, jpi 396 398 frld (ji,jj) = MIN( frld(ji,jj), ABS( frld(ji,jj) - 2.0 ) ) 397 hicifp(ji,jj) = hicif(ji,jj) * ( 1.0 - frld(ji,jj) ) - zhicifp(ji,jj) + hicifp(ji,jj) 398 END DO 399 END DO 399 fr_i (ji,jj) = 1.0 - frld(ji,jj) 400 hicifp(ji,jj) = hicif(ji,jj) * fr_i(ji,jj) - hicifp(ji,jj) 401 END DO 402 END DO 403 404 ! Outputs 405 !-------------------------------------------------------------------------------- 406 ztmp(:,:) = 1. - pfrld(:,:) ! fraction of ice after the dynamic, before the thermodynamic 407 CALL iom_put( 'ioceflxb', fbif ) ! Oceanic flux at the ice base [W/m2 ???] 408 CALL iom_put( 'qsr_ai_cea', qsr_ice(:,:,1) * ztmp(:,:) ) ! Solar flux over the ice [W/m2] 409 CALL iom_put( 'qns_ai_cea', qns_ice(:,:,1) * ztmp(:,:) ) ! Non-solar flux over the ice [W/m2] 410 IF( .NOT. lk_cpl ) CALL iom_put( 'qla_ai_cea', qla_ice(:,:,1) * ztmp(:,:) ) ! Latent flux over the ice [W/m2] 411 ! 412 CALL iom_put( 'snowthic_cea', hsnif (:,:) * fr_i(:,:) ) ! Snow thickness [m] 413 CALL iom_put( 'icethic_cea' , hicif (:,:) * fr_i(:,:) ) ! Ice thickness [m] 414 CALL iom_put( 'iceprod_cea' , hicifp(:,:) / rdt_ice ) ! Ice produced [m/s] 415 ! 416 ztmp(:,:) = 1. - AINT( frld, wp ) ! return 1 as soon as there is ice 417 CALL iom_put( 'ice_pres', ztmp ) ! Ice presence [-] 418 CALL iom_put( 'ist_ipa' , ( sist(:,:) - rt0 ) * ztmp(:,:) ) ! Ice surface temperature [Celius] 419 CALL iom_put( 'uice_ipa', u_ice(:,:) * ztmp(:,:) ) ! Ice velocity along i-axis at I-point 420 CALL iom_put( 'vice_ipa', v_ice(:,:) * ztmp(:,:) ) ! Ice velocity along j-axis at I-point 400 421 401 422 IF(ln_ctl) THEN -
trunk/NEMO/LIM_SRC_2/limwri_2.F90
r1470 r1482 4 4 !! Ice diagnostics : write ice output files 5 5 !!====================================================================== 6 !! history : 2.0 ! 03-08 (C. Ethe) original code 7 !! 2.0 ! 04-10 (C. Ethe ) 1D configuration 6 !! history : 2.0 ! 2003-08 (C. Ethe) original code 7 !! 2.0 ! 2004-10 (C. Ethe ) 1D configuration 8 !! - ! 2009-06 (B. Lemaire ) iom_put + lim_wri_state_2 8 9 !!------------------------------------------------------------------- 9 10 #if defined key_lim2 … … 14 15 !! lim_wri_2 : write of the diagnostics variables in ouput file 15 16 !! lim_wri_init_2 : initialization and namelist read 17 !! lim_wri_state_2 : write for initial state or/and abandon: 18 !! > output.init.nc (if ninist = 1 in namelist) 19 !! > output.abort.nc 16 20 !!---------------------------------------------------------------------- 17 21 USE phycst … … 32 36 PRIVATE 33 37 34 PUBLIC lim_wri_2 ! routine called by sbc_ice_lim_2 38 #if ! defined key_iomput 39 PUBLIC lim_wri_2 ! called by sbc_ice_lim_2 40 #endif 41 PUBLIC lim_wri_state_2 ! called by dia_wri_state 35 42 36 43 INTEGER, PARAMETER :: jpnoumax = 40 ! maximum number of variable for ice output … … 61 68 CONTAINS 62 69 63 #if defined key_dimgout 70 #if ! defined key_iomput 71 # if defined key_dimgout 64 72 !!---------------------------------------------------------------------- 65 73 !! 'key_dimgout' Direct Access file 66 74 !!---------------------------------------------------------------------- 67 75 # include "limwri_dimg_2.h90" 68 #else 69 !!---------------------------------------------------------------------- 70 !! Default option NetCDF file 71 !!---------------------------------------------------------------------- 72 76 # else 73 77 SUBROUTINE lim_wri_2( kt ) 74 78 !!------------------------------------------------------------------- … … 92 96 REAL(wp), DIMENSION(jpi,jpj,jpnoumax) :: zcmo 93 97 !!------------------------------------------------------------------- 94 95 CALL iom_setkt( kt + nn_fsbc - 1 ) 96 ! !--------------------! 98 !--------------------! 97 99 IF( kt == nit000 ) THEN ! Initialisation ! 98 100 ! !--------------------! … … 180 182 181 183 IF( nc(jf) == 1 ) CALL histwrite( nice, nam(jf), niter, zfield, ndim, ndex51 ) 182 CALL iom_put( nam(jf), zfield )183 184 184 185 END DO 185 186 186 187 IF( ( nn_fsbc * niter ) >= nitend ) CALL histclo( nice ) 187 !188 CALL iom_setkt( kt )189 188 190 189 END SUBROUTINE lim_wri_2 191 192 #endif 193 190 191 194 192 SUBROUTINE lim_wri_init_2 195 193 !!------------------------------------------------------------------- … … 273 271 END SUBROUTINE lim_wri_init_2 274 272 273 # endif 274 #endif 275 276 SUBROUTINE lim_wri_state_2( kt, kid, kh_i ) 277 !!--------------------------------------------------------------------- 278 !! *** ROUTINE lim_wri_state_2 *** 279 !! 280 !! ** Purpose : create a NetCDF file named cdfile_name which contains 281 !! the instantaneous ice state and forcing fields for ice model 282 !! Used to find errors in the initial state or save the last 283 !! ocean state in case of abnormal end of a simulation 284 !! 285 !! History : 286 !! 2.0 ! 2009-06 (B. Lemaire) 287 !!---------------------------------------------------------------------- 288 INTEGER, INTENT( in ) :: kt ! ocean time-step index) 289 INTEGER, INTENT( in ) :: kid , kh_i 290 !!---------------------------------------------------------------------- 291 292 CALL histdef( kid, "isnowthi", "Snow thickness" , "m" , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 293 CALL histdef( kid, "iicethic", "Ice thickness" , "m" , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 294 CALL histdef( kid, "iiceprod", "Ice produced" , "m/kt" , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 295 CALL histdef( kid, "ileadfra", "Ice concentration" , "-" , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 296 CALL histdef( kid, "iicetemp", "Ice temperature" , "K" , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 297 CALL histdef( kid, "ioceflxb", "flux at ice base" , "w/m2" , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 298 CALL histdef( kid, "iicevelu", "i-Ice speed (I-point)" , "m/s" , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 299 CALL histdef( kid, "iicevelv", "j-Ice speed (I-point)" , "m/s" , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 300 CALL histdef( kid, "isstempe", "Sea surface temperature" , "C" , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 301 CALL histdef( kid, "isssalin", "Sea surface salinity" , "PSU" , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 302 CALL histdef( kid, "iicestru", "i-Wind stress over ice (I-pt)", "Pa", jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 303 CALL histdef( kid, "iicestrv", "j-Wind stress over ice (I-pt)", "Pa", jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 304 CALL histdef( kid, "iicesflx", "Solar flux over ice" , "w/m2" , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 305 CALL histdef( kid, "iicenflx", "Non-solar flux over ice" , "w/m2" , jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 306 CALL histdef( kid, "isnowpre", "Snow precipitation" , "kg/m2/s", jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 307 308 CALL histend( kid ) ! end of the file definition 309 310 CALL histwrite( kid, "isnowthi", kt, hsnif , jpi*jpj, (/1/) ) 311 CALL histwrite( kid, "iicethic", kt, hicif , jpi*jpj, (/1/) ) 312 CALL histwrite( kid, "iiceprod", kt, hicifp , jpi*jpj, (/1/) ) 313 CALL histwrite( kid, "ileadfra", kt, 1. - frld(:,:) , jpi*jpj, (/1/) ) 314 CALL histwrite( kid, "iicetemp", kt, sist(:,:) - rt0, jpi*jpj, (/1/) ) 315 CALL histwrite( kid, "ioceflxb", kt, fbif , jpi*jpj, (/1/) ) 316 CALL histwrite( kid, "iicevelv", kt, u_ice , jpi*jpj, (/1/) ) 317 CALL histwrite( kid, "iicevelu", kt, v_ice , jpi*jpj, (/1/) ) 318 CALL histwrite( kid, "isstempe", kt, sst_m , jpi*jpj, (/1/) ) 319 CALL histwrite( kid, "isssalin", kt, sss_m , jpi*jpj, (/1/) ) 320 CALL histwrite( kid, "iicestru", kt, utau_ice , jpi*jpj, (/1/) ) 321 CALL histwrite( kid, "iicestrv", kt, vtau_ice , jpi*jpj, (/1/) ) 322 CALL histwrite( kid, "iicesflx", kt, qsr_ice(:,:,1) , jpi*jpj, (/1/) ) 323 CALL histwrite( kid, "iicenflx", kt, qns_ice(:,:,1) , jpi*jpj, (/1/) ) 324 CALL histwrite( kid, "isnowpre", kt, sprecip , jpi*jpj, (/1/) ) 325 326 END SUBROUTINE lim_wri_state_2 327 275 328 #else 276 329 !!---------------------------------------------------------------------- -
trunk/NEMO/OPA_SRC/DIA/diahth.F90
r1152 r1482 15 15 USE phycst ! physical constants 16 16 USE in_out_manager ! I/O manager 17 USE iom 17 18 18 19 IMPLICIT NONE … … 112 113 113 114 END DO 115 CALL iom_put( "thermod", hth ) ! depth of the thermocline 114 116 115 117 … … 151 153 END DO 152 154 END DO 155 CALL iom_put( "20d", hd20 ) ! depth of the 20 isotherm 153 156 154 157 ! ----------------------- ! … … 189 192 END DO 190 193 END DO 194 CALL iom_put( "28d", hd28 ) ! depth of the 28 isotherm 191 195 192 196 ! ----------------------------------------- ! … … 204 208 + zmoy * ( tn(:,:,jk) + tn(:,:,jk+1) ) * fse3w(:,:,jk) * tmask(:,:,jk) 205 209 END DO 210 CALL iom_put( "hc300", htc3 ) ! first 300m heaat content 206 211 207 212 END SUBROUTINE dia_hth -
trunk/NEMO/OPA_SRC/DIA/diawri.F90
r1465 r1482 28 28 USE iom 29 29 USE ioipsl 30 30 #if defined key_lim2 31 USE limwri_2 32 #endif 31 33 IMPLICIT NONE 32 34 PRIVATE … … 72 74 !! instantaeous ocean state and forcing fields 73 75 !!---------------------------------------------------------------------- 74 76 # if defined key_iomput 77 SUBROUTINE dia_wri( kt, kindic ) 78 !!--------------------------------------------------------------------- 79 !! *** ROUTINE dia_wri *** 80 !! 81 !! ** Purpose : Standard output of opa: dynamics and tracer fields 82 !! NETCDF format is used by default 83 !! 84 !! ** Method : use iom_put 85 !! 86 !! History : 87 !! 3.2 ! 05-11 (B. Lemaire) creation from old diawri 88 !!---------------------------------------------------------------------- 89 INTEGER, INTENT( in ) :: kt ! ocean time-step index 90 INTEGER, INTENT( in ) :: kindic ! 91 !!---------------------------------------------------------------------- 92 ! 93 ! Output the initial state and forcings 94 IF( ninist == 1 ) THEN 95 CALL dia_wri_state( 'output.init', kt ) 96 ninist = 0 97 ENDIF 98 99 CALL iom_put( "toce" , tn ) ! temperature 100 CALL iom_put( "soce" , sn ) ! salinity 101 CALL iom_put( "sst" , tn(:,:,1) ) ! sea surface temperature 102 CALL iom_put( "sss" , sn(:,:,1) ) ! sea surface salinity 103 CALL iom_put( "uoce" , un ) ! i-current 104 CALL iom_put( "voce" , vn ) ! j-current 105 106 CALL iom_put( "avt" , avt ) ! T vert. eddy diff. coef. 107 CALL iom_put( "avm" , avmu ) ! T vert. eddy visc. coef. 108 IF( lk_zdfddm ) THEN 109 CALL iom_put( "avs", fsavs(:,:,:) ) ! S vert. eddy diff. coef. 110 ENDIF 111 112 END SUBROUTINE dia_wri 113 114 #else 75 115 SUBROUTINE dia_wri( kt, kindic ) 76 116 !!--------------------------------------------------------------------- … … 118 158 CHARACTER (len=80) :: clname 119 159 !!---------------------------------------------------------------------- 120 160 ! 161 ! Output the initial state and forcings 162 IF( ninist == 1 ) THEN 163 CALL dia_wri_state( 'output.init', kt ) 164 ninist = 0 165 ENDIF 166 ! 121 167 ! 0. Initialisation 122 168 ! ----------------- … … 417 463 WRITE(numout,*) '~~~~~~ ' 418 464 ENDIF 419 420 !---------------------------------------------------------------------------421 422 CALL iom_put("votemper",tn)423 CALL iom_put("vosaline",sn)424 CALL iom_put("sosstsst",tn(:,:,1)) ! sea surface temperature425 CALL iom_put("sosaline",sn(:,:,1)) ! sea surface salinity426 #if defined key_dynspg_rl427 CALL iom_put("sobarstf",bsfn) ! barotropic streamfunction428 #else429 CALL iom_put("sossheig",sshn) ! sea surface height430 #endif431 432 CALL iom_put("sowaflup",emp ) ! upward water flux433 CALL iom_put("sowaflcd",emps) ! c/d water flux434 zw2d(:,:) = emps(:,:) * sn(:,:,1) * tmask(:,:,1)435 CALL iom_put("sosalflx",zw2d) ! c/d salt flux436 CALL iom_put("sohefldo",qns + qsr ) ! total heat flux437 CALL iom_put("soshfldo",qsr) ! solar heat flux438 CALL iom_put("somxl010",hmlp) ! mixed layer depth439 CALL iom_put("somixhgt",hmld) ! turbocline depth440 CALL iom_put("soicecov",fr_i) ! ice fraction441 #if ! defined key_coupled442 CALL iom_put("sohefldp",qrp) ! heat flux damping443 CALL iom_put("sowafldp",erp) ! freshwater flux damping444 zw2d(:,:) = erp(:,:) * sn(:,:,1) * tmask(:,:,1)445 CALL iom_put("sosafldp", zw2d) ! salt flux damping446 #endif447 448 #if ( defined key_coupled && ! defined key_lim3 && ! defined key_lim2 )449 CALL iom_put("sohefldp",qrp) ! heat flux damping450 CALL iom_put("sowafldp",erp) ! freshwater flux damping451 zw2d(:,:) = erp(:,:) * sn(:,:,1) * tmask(:,:,1)452 CALL iom_put("sosafldp",zw2d) ! salt flux damping453 #endif454 #if defined key_diaspr455 CALL iom_put("sosurfps",gps) ! surface pressure456 #endif457 zw2d(:,:) = FLOAT( nmln(:,:) ) * tmask(:,:,1)458 CALL iom_put("sobowlin",zw2d) ! ???459 460 #if defined key_diahth461 CALL iom_put("sothedep",hth) ! depth of the thermocline462 CALL iom_put("so20chgt",hd20) ! depth of the 20 isotherm463 CALL iom_put("so28chgt",hd28) ! depth of the 28 isotherm464 CALL iom_put("sohtc300",htc3) ! first 300m heaat content465 #endif466 467 #if defined key_coupled468 # if defined key_lim3469 Must be adapted for LIM3470 # else471 CALL iom_put("soicetem",tn_ice) ! surf. ice temperature472 CALL iom_put("soicealb",alb_ice) ! ice albedo473 # endif474 #endif475 ! Write fields on U grid476 CALL iom_put("vozocrtx",un) ! i-current477 #if defined key_diaeiv478 CALL iom_put("vozoeivu",u_eiv) ! i-eiv current479 #endif480 CALL iom_put("sozotaux",utau) ! i-wind stress481 #if defined key_dynspg_rl482 CALL lbc_lnk( spgu, 'U', -1. )483 CALL iom_put("sozospgx",spgu) ! i-surf. press. grad.484 #endif485 486 ! Write fields on V grid487 CALL iom_put("vomecrty",vn) ! j-current488 #if defined key_diaeiv489 CALL iom_put("vomeeivv",v_eiv) ! j-eiv current490 #endif491 CALL iom_put("sometauy", vtau) ! j-wind stress492 #if defined key_dynspg_rl493 CALL lbc_lnk( spgv, 'V', -1. )494 CALL iom_put("somespgy",spgv) ! j-surf. pressure grad.495 #endif496 497 ! Write fields on W grid498 CALL iom_put("vovecrtz",wn) ! vert. current499 # if defined key_diaeiv500 CALL iom_put("voveeivw",w_eiv) ! vert. eiv current501 # endif502 CALL iom_put("votkeavt",avt) ! T vert. eddy diff. coef.503 CALL iom_put("votkeevd",avt_evd) ! T enhan. vert. eddy diff. coef.504 CALL iom_put("votkeavm",avmu) ! T vert. eddy visc. coef.505 CALL iom_put("votkeevm",avmu_evd) ! T enhan. vert. eddy visc. coef.506 # if defined key_zdftmx507 CALL iom_put("votidavt",av_tide) ! vert. mix. related to internal tides508 CALL iom_put("voitfavt",av_tide_itf) ! ITF vert. mix. related to internal tides509 # endif510 IF( lk_zdfddm ) THEN511 CALL iom_put("voddmavs",fsavs(:,:,:) ) ! S vert. eddy diff. coef.512 ENDIF513 #if defined key_traldf_c2d514 CALL iom_put("soleahtw",ahtw) ! lateral eddy diff. coef.515 # if defined key_traldf_eiv516 CALL iom_put("soleaeiw",aeiw) ! EIV coefficient at w-point517 # endif518 #endif519 !---------------------------------------------------------------------------520 465 521 466 ! Write fields on T grid … … 623 568 #endif 624 569 625 ! Create an output files (output.abort.nc) if S < 0 or u > 20 m/s626 IF( kindic < 0 ) CALL dia_wri_state( 'output.abort', kt )627 628 570 ! 3. Close all files 629 571 ! --------------------------------------- … … 636 578 637 579 END SUBROUTINE dia_wri 638 580 # endif 639 581 640 582 SUBROUTINE dia_wri_state( cdfile_name, kt ) … … 736 678 & jpi, jpj, nh_i, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) 737 679 680 #if defined key_lim2 681 CALL lim_wri_state_2( kt, id_i, nh_i ) 682 #else 738 683 CALL histend( id_i ) 684 #endif 739 685 740 686 ! 2. Start writing data -
trunk/NEMO/OPA_SRC/DYN/wzvmod.F90
r1438 r1482 25 25 USE obc_par ! open boundary cond. parameter 26 26 USE obc_oce 27 USE iom 27 28 28 29 IMPLICIT NONE … … 165 166 & - fse3t_b(:,:,jk) ) * tmask(:,:,jk) / z2dt 166 167 END DO 168 ! 169 CALL iom_put( "woce", wn ) ! vert. current 170 CALL iom_put( "ssh" , sshn ) ! sea surface height 167 171 168 172 ! !------------------------------! -
trunk/NEMO/OPA_SRC/IOM/iom.F90
r1457 r1482 100 100 101 101 ! consistency regarding CPP keys... 102 CALL iom_init_chkcpp102 !!$ CALL iom_init_chkcpp 103 103 104 104 ! end file definition -
trunk/NEMO/OPA_SRC/LDF/ldfeiv.F90
r1438 r1482 22 22 USE lbclnk ! ocean lateral boundary conditions (or mpp link) 23 23 USE prtctl ! Print control 24 USE iom 24 25 25 26 IMPLICIT NONE … … 214 215 ENDIF 215 216 217 CALL iom_put( "aht2d" , ahtw ) ! lateral eddy diffusivity 218 CALL iom_put( "aht2d_eiv", aeiw ) ! EIV lateral eddy diffusivity 219 216 220 END SUBROUTINE ldf_eiv 217 221 -
trunk/NEMO/OPA_SRC/SBC/sbc_ice.F90
r1469 r1482 33 33 # endif 34 34 35 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpl) :: qns_ice !: non solar heat flux over ice [W/m2]36 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpl) :: qsr_ice !: solar heat flux over ice [W/m2]37 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpl) :: qla_ice !: latent flux over ice 38 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpl) :: dqla_ice !: latent sensibility over ice 35 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpl) :: qns_ice !: non solar heat flux over ice [W/m2] 36 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpl) :: qsr_ice !: solar heat flux over ice [W/m2] 37 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpl) :: qla_ice !: latent flux over ice [W/m2] 38 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpl) :: dqla_ice !: latent sensibility over ice [W/m2/K] 39 39 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpl) :: dqns_ice !: non solar heat flux sensibility over ice (LW+SEN+LA) [W/m2/K] 40 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpl) :: tn_ice !: ice surface temperature [K]40 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpl) :: tn_ice !: ice surface temperature [K] 41 41 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpl) :: alb_ice !: albedo of ice 42 42 43 43 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: utau_ice !: u-stress over ice (I-point for LIM2 or U,V-point for LIM3) [N/m2] 44 44 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: vtau_ice !: v-stress over ice (I-point for LIM2 or U,V-point for LIM3) [N/m2] 45 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: fr1_i0 !: 1st fraction of sol. rad. 46 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: fr2_i0 !: 2nd fraction of sol. rad. 45 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: fr1_i0 !: 1st fraction of sol. rad. which penetrate inside the ice cover 46 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: fr2_i0 !: 2nd fraction of sol. rad. which penetrate inside the ice cover 47 47 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: emp_ice !: solid freshwater budget over ice: sublivation - snow 48 48 -
trunk/NEMO/OPA_SRC/SBC/sbcblk_clio.F90
r1465 r1482 8 8 !! NEMO 2.0 ! 2002-08 (C. Ethe, G. Madec) F90: Free form and module 9 9 !! 3.0 ! 2008-03 (C. Talandier, G. Madec) surface module + LIM3 10 !! 3.2 ! 2009-04 (B. Lemaire) Introduce iom_put 11 !!---------------------------------------------------------------------- 12 10 13 !!---------------------------------------------------------------------- 11 14 !! sbc_blk_clio : CLIO bulk formulation: read and update required input fields … … 76 79 REAL(wp) :: zeps = 1.e-20 ! constant values 77 80 REAL(wp) :: zeps0 = 1.e-13 78 81 82 !! * Substitutions 79 83 # include "vectopt_loop_substitute.h90" 80 84 !!---------------------------------------------------------------------- 81 !! NEMO/OPA 3. 0 , LOCEAN-IPSL (2008)85 !! NEMO/OPA 3.2 , LOCEAN-IPSL (2009) 82 86 !! $Id$ 83 87 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) … … 85 89 86 90 CONTAINS 87 88 91 89 92 SUBROUTINE sbc_blk_clio( kt ) … … 397 400 emps(:,:) = emp(:,:) 398 401 ! 402 CALL iom_put( "qlw_oce", zqlw ) ! output downward longwave heat over the ocean 403 CALL iom_put( "qsb_oce", - zqsb ) ! output downward sensible heat over the ocean 404 CALL iom_put( "qla_oce", - zqla ) ! output downward latent heat over the ocean 405 CALL iom_put( "qns_oce", qns ) ! output downward non solar heat over the ocean 406 399 407 IF(ln_ctl) THEN 400 408 CALL prt_ctl(tab2d_1=zqsb , clinfo1=' blk_oce_clio: zqsb : ', tab2d_2=zqlw , clinfo2=' zqlw : ') … … 544 552 END DO 545 553 END DO 554 CALL iom_put( 'snowpre', p_spr ) ! Snow precipitation 546 555 547 556 !-----------------------------------------------------------! -
trunk/NEMO/OPA_SRC/SBC/sbcblk_core.F90
r1465 r1482 4 4 !! Ocean forcing: momentum, heat and freshwater flux formulation 5 5 !!===================================================================== 6 !! History : 1.0 ! 04-08 (U. Schweckendiek) Original code 7 !! 2.0 ! 05-04 (L. Brodeau, A.M. Treguier) additions: 8 !! - new bulk routine for efficiency 9 !! - WINDS ARE NOW ASSUMED TO BE AT T POINTS in input files !!!! 10 !! - file names and file characteristics in namelist 11 !! - Implement reading of 6-hourly fields 12 !! 3.0 ! 06-06 (G. Madec) sbc rewritting 6 !! History : 1.0 ! 2004-08 (U. Schweckendiek) Original code 7 !! 2.0 ! 2005-04 (L. Brodeau, A.M. Treguier) additions: 8 !! - new bulk routine for efficiency 9 !! - WINDS ARE NOW ASSUMED TO BE AT T POINTS in input files !!!! 10 !! - file names and file characteristics in namelist 11 !! - Implement reading of 6-hourly fields 12 !! 3.0 ! 2006-06 (G. Madec) sbc rewritting 13 !! 3.2 ! 2009-04 (B. Lemaire) Introduce iom_put 13 14 !!---------------------------------------------------------------------- 14 15 … … 68 69 # include "vectopt_loop_substitute.h90" 69 70 !!---------------------------------------------------------------------- 70 !! OPA 9.0 , LOCEAN-IPSL (2006)71 !! NEMO/OPA 3.2 , LOCEAN-IPSL (2009) 71 72 !! $Id$ 72 73 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) … … 190 191 !! - qns : Non Solar heat flux over the ocean (W/m2) 191 192 !! - evap : Evaporation over the ocean (kg/m2/s) 192 !! - tprecip : Total precipitation (Kg/m2/s) 193 !! - sprecip : Solid precipitation (Kg/m2/s) 193 !! - emp(s) : evaporation minus precipitation (kg/m2/s) 194 194 !! 195 195 !! ** Nota : sf has to be a dummy argument for AGRIF on NEC … … 329 329 emp (:,:) = zevap(:,:) - sf(jp_prec)%fnow(:,:) * alpha_precip * tmask(:,:,1) 330 330 !CDIR COLLAPSE 331 emps(:,:) = zevap(:,:) - sf(jp_prec)%fnow(:,:) * alpha_precip * tmask(:,:,1) 331 emps(:,:) = emp(:,:) 332 ! 333 CALL iom_put( "qlw_oce", zqlw ) ! output downward longwave heat over the ocean 334 CALL iom_put( "qsb_oce", - zqsb ) ! output downward sensible heat over the ocean 335 CALL iom_put( "qla_oce", - zqla ) ! output downward latent heat over the ocean 336 CALL iom_put( "qns_oce", qns ) ! output downward non solar heat over the ocean 337 ! 338 IF(ln_ctl) THEN 339 CALL prt_ctl(tab2d_1=zqsb , clinfo1=' blk_oce_core: zqsb : ', tab2d_2=zqlw , clinfo2=' zqlw : ') 340 CALL prt_ctl(tab2d_1=zqla , clinfo1=' blk_oce_core: zqla : ', tab2d_2=qsr , clinfo2=' qsr : ') 341 CALL prt_ctl(tab2d_1=pst , clinfo1=' blk_oce_core: pst : ', tab2d_2=emp , clinfo2=' emp : ') 342 CALL prt_ctl(tab2d_1=utau , clinfo1=' blk_oce_core: utau : ', mask1=umask, & 343 & tab2d_2=vtau , clinfo2= ' vtau : ' , mask2=vmask ) 344 ENDIF 332 345 ! 333 346 END SUBROUTINE blk_oce_core … … 377 390 REAL(wp) :: zwndi_t , zwndj_t ! relative wind components at T-point 378 391 REAL(wp), DIMENSION(jpi,jpj) :: z_wnds_t ! wind speed ( = | U10m - U_ice | ) at T-point 379 REAL(wp), DIMENSION(jpi,jpj,pdim) :: z_qlw 380 REAL(wp), DIMENSION(jpi,jpj,pdim) :: z_qsb 381 REAL(wp), DIMENSION(jpi,jpj,pdim) :: z_dqlw ! sensible heat fluxover ice382 REAL(wp), DIMENSION(jpi,jpj,pdim) :: z_dqsb ! sensible heat fluxover ice392 REAL(wp), DIMENSION(jpi,jpj,pdim) :: z_qlw ! long wave heat flux over ice 393 REAL(wp), DIMENSION(jpi,jpj,pdim) :: z_qsb ! sensible heat flux over ice 394 REAL(wp), DIMENSION(jpi,jpj,pdim) :: z_dqlw ! long wave heat sensitivity over ice 395 REAL(wp), DIMENSION(jpi,jpj,pdim) :: z_dqsb ! sensible heat sensitivity over ice 383 396 !!--------------------------------------------------------------------- 384 397 … … 523 536 !CDIR COLLAPSE 524 537 p_spr(:,:) = sf(jp_snow)%fnow(:,:) * alpha_precip ! solid precipitation [kg/m2/s] 538 CALL iom_put( 'snowpre', p_spr ) ! Snow precipitation 525 539 ! 526 540 IF(ln_ctl) THEN … … 680 694 !! 9.0 ! 06-12 (L. Brodeau) Original code for 2Z 681 695 !!---------------------------------------------------------------------- 682 !! * Arguments683 696 REAL(wp), INTENT(in) :: & 684 697 zt, & ! height for T_zt and q_zt [m] -
trunk/NEMO/OPA_SRC/SBC/sbccpl.F90
r1472 r1482 933 933 END SELECT 934 934 psprecip(:,:) = - pemp_ice(:,:) 935 CALL iom_put( 'snowpre', psprecip ) ! Snow precipitation 935 936 ! 936 937 ! ! runoffs and calving (put in emp_tot) -
trunk/NEMO/OPA_SRC/SBC/sbcice_lim_2.F90
r1481 r1482 157 157 END SELECT 158 158 159 CALL iom_put( 'utau_ice', utau_ice ) ! Wind stress over ice along i-axis at I-point 160 CALL iom_put( 'vtau_ice', vtau_ice ) ! Wind stress over ice along j-axis at I-point 161 159 162 IF(ln_ctl) THEN ! print mean trends (used for debugging) 160 163 CALL prt_ctl_info( 'Ice Forcings ' ) … … 189 192 IF( ( MOD( kt+nn_fsbc-1, ninfo ) == 0 .OR. ntmoy == 1 ) .AND. .NOT. lk_mpp ) & 190 193 & CALL lim_dia_2 ( kt ) ! Ice Diagnostics 194 # if ! defined key_iomput 191 195 CALL lim_wri_2 ( kt ) ! Ice outputs 196 # endif 192 197 IF( lrst_ice ) CALL lim_rst_write_2( kt ) ! Ice restart file 193 198 ! -
trunk/NEMO/OPA_SRC/SBC/sbcmod.F90
r1465 r1482 189 189 190 190 IF( kt == nit000 ) CALL sbc_init ! Read namsbc namelist : surface module 191 191 ! 192 CALL iom_setkt( kt + nn_fsbc - 1 ) ! in sbc, iom_put is called every nn_fsbc time step 193 ! 192 194 ! ocean to sbc mean sea surface variables (ss._m) 193 195 ! --------------------------------------- … … 238 240 ! ! (update freshwater fluxes) 239 241 ! 242 IF( MOD( kt-1, nn_fsbc ) == 0 ) THEN 243 CALL iom_put( "emp" , emp ) ! upward water flux 244 CALL iom_put( "emps" , emps ) ! c/d water flux 245 CALL iom_put( "qns+qsr", qns + qsr ) ! total heat flux (caution if ln_dm2dc=true, to be 246 CALL iom_put( "qns" , qns ) ! solar heat flux moved after the call to iom_setkt) 247 CALL iom_put( "qsr" , qsr ) ! solar heat flux moved after the call to iom_setkt) 248 IF( nn_ice > 0 ) CALL iom_put( "ice_cover", fr_i ) ! ice fraction 249 ENDIF 250 ! 251 CALL iom_setkt( kt ) ! iom_put outside of sbc is called at every time step 252 ! 253 CALL iom_put( "utau", utau ) ! i-wind stress (stress can be updated at 254 CALL iom_put( "vtau", vtau ) ! j-wind stress each time step in sea-ice) 255 ! 240 256 IF(ln_ctl) THEN ! print mean trends (used for debugging) 241 257 CALL prt_ctl(tab2d_1=fr_i , clinfo1=' fr_i - : ', mask1=tmask, ovlap=1 ) -
trunk/NEMO/OPA_SRC/SBC/sbcrnf.F90
r1303 r1482 4 4 !! Ocean forcing: river runoff 5 5 !!===================================================================== 6 !! History : ! 00-11 (R. Hordoir, E. Durand) NetCDF FORMAT 7 !! 8.5 ! 02-09 (G. Madec) F90: Free form and module 8 !! 9.0 ! 06-07 (G. Madec) Surface module 6 !! History : OPA ! 2000-11 (R. Hordoir, E. Durand) NetCDF FORMAT 7 !! NEMO 1.0 ! 2002-09 (G. Madec) F90: Free form and module 8 !! 3.0 ! 2006-07 (G. Madec) Surface module 9 !! 3.2 ! 2009-04 (B. Lemaire) Introduce iom_put 9 10 !!---------------------------------------------------------------------- 10 11 … … 28 29 PUBLIC sbc_rnf ! routine call in step module 29 30 30 ! ! * namsbc_rnf namelist31 ! !!* namsbc_rnf namelist * 31 32 CHARACTER(len=100), PUBLIC :: cn_dir = './' !: Root directory for location of ssr files 32 33 LOGICAL , PUBLIC :: ln_rnf_emp = .false. !: runoffs into a file to be read or already into precipitation … … 44 45 45 46 !!---------------------------------------------------------------------- 46 !! OPA 9.0 , LOCEAN-IPSL (2006)47 !! NEMO/OPA 3.2 , LOCEAN-IPSL (2009) 47 48 !! $Id$ 48 49 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) … … 64 65 !!---------------------------------------------------------------------- 65 66 INTEGER, INTENT(in) :: kt ! ocean time step 66 ! 67 !! 67 68 INTEGER :: ji, jj ! dummy loop indices 68 69 INTEGER :: ierror ! temporary integer … … 103 104 emp (:,:) = emp (:,:) - ABS( sf_rnf(1)%fnow(:,:) ) 104 105 emps(:,:) = emps(:,:) - ABS( sf_rnf(1)%fnow(:,:) ) 106 CALL iom_put( "runoffs", sf_rnf(1)%fnow ) ! runoffs 105 107 ENDIF 106 108 ! -
trunk/NEMO/OPA_SRC/SBC/sbcssr.F90
r1294 r1482 5 5 !! toward observed SST/SSS 6 6 !!====================================================================== 7 !! History : 9.0 ! 06-06 (G. Madec) Original code 7 !! History : 1.0 ! 2006-06 (G. Madec) Original code 8 !! 3.2 ! 2009-04 (B. Lemaire) Introduce iom_put 8 9 !!---------------------------------------------------------------------- 9 10 … … 28 29 PUBLIC sbc_ssr ! routine called in sbcmod 29 30 30 REAL(wp), ALLOCATABLE, DIMENSION(:) 31 REAL(wp), ALLOCATABLE, DIMENSION(:) :: buffer ! Temporary buffer for exchange 31 32 32 33 TYPE(FLD), ALLOCATABLE, DIMENSION(:) :: sf_sst ! structure of input SST (file informations, fields read) 33 34 TYPE(FLD), ALLOCATABLE, DIMENSION(:) :: sf_sss ! structure of input SSS (file informations, fields read) 34 35 35 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: erp 36 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: qrp 37 38 ! ! * Namelist namsbc_ssr36 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: erp !: evaporation damping [kg/m2/s] 37 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: qrp !: heat flux damping [w/m2] 38 39 ! !!* Namelist namsbc_ssr * 39 40 INTEGER :: nn_sstr, nn_sssr ! SST/SSS indicator 40 41 REAL(wp) :: dqdt , deds ! restoring term factor … … 43 44 # include "domzgr_substitute.h90" 44 45 !!---------------------------------------------------------------------- 45 !! OPA 9.0 , LOCEAN-IPSL (2006)46 !! NEMO/OPA 3.2 , LOCEAN-IPSL (2009) 46 47 !! $Id$ 47 48 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) … … 159 160 END DO 160 161 END DO 162 CALL iom_put( "qrp", qrp ) ! heat flux damping 161 163 ENDIF 162 164 ! … … 174 176 END DO 175 177 END DO 178 CALL iom_put( "erp", erp ) ! freshwater flux damping 176 179 ELSEIF( nn_sssr == 2 ) THEN ! Salinity damping term (volume flux, emp and emps) 177 180 !CDIR COLLAPSE … … 188 191 END DO 189 192 END DO 193 CALL iom_put( "erp", erp ) ! freshwater flux damping 190 194 ENDIF 191 195 ! … … 193 197 ! 194 198 ENDIF 195 196 !!gm ... to be written ! Output sbc fields (using IOM)197 ! prevoir comment obtenir l info sst sss ssr198 199 ! 199 200 END SUBROUTINE sbc_ssr -
trunk/NEMO/OPA_SRC/TRA/traadv.F90
r1152 r1482 4 4 !! Ocean active tracers: advection trend 5 5 !!============================================================================== 6 !! History : 9.0 ! 05-11 (G. Madec) Original code6 !! History : 2.0 ! 05-11 (G. Madec) Original code 7 7 !!---------------------------------------------------------------------- 8 8 … … 24 24 USE in_out_manager ! I/O manager 25 25 USE prtctl ! Print control 26 USE iom 26 27 27 28 IMPLICIT NONE … … 44 45 # include "vectopt_loop_substitute.h90" 45 46 !!---------------------------------------------------------------------- 46 !! OPA 9.0 , LOCEAN-IPSL (2006)47 !! NEMO/OPA 3.2 , LOCEAN-IPSL (2009) 47 48 !! $Id$ 48 49 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) … … 114 115 & tab3d_2=sa, clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' ) 115 116 END SELECT 117 118 CALL iom_put( "uoce_eff", zun ) ! effective i-current 119 CALL iom_put( "voce_eff", zvn ) ! effective j-current 120 CALL iom_put( "woce_eff", zwn ) ! effective vert. current 121 116 122 ! ! print mean trends (used for debugging) 117 123 IF(ln_ctl) CALL prt_ctl( tab3d_1=ta, clinfo1=' adv - Ta: ', mask1=tmask, & -
trunk/NEMO/OPA_SRC/TRA/traadv_eiv.F90
r1152 r1482 20 20 USE ldfslp ! iso-neutral slopes 21 21 USE in_out_manager ! I/O manager 22 USE iom 22 23 23 24 IMPLICIT NONE … … 129 130 END DO ! End of slab 130 131 ! ! ================= 131 END SUBROUTINE tra_adv_eiv 132 133 # if defined key_diaeiv 134 CALL iom_put( "uoce_eiv", u_eiv ) ! i-eiv current 135 CALL iom_put( "voce_eiv", v_eiv ) ! j-eiv current 136 CALL iom_put( "woce_eiv", w_eiv ) ! vert. eiv current 137 # endif 138 ! 139 END SUBROUTINE tra_adv_eiv 132 140 133 141 #else -
trunk/NEMO/OPA_SRC/TRA/trabbl_adv.h90
r1152 r1482 51 51 USE eosbn2 ! equation of state 52 52 USE oce, ONLY : ztrdt => ua ! use ua as 3D workspace 53 USE oce, ONLY : ztrds => va ! use va as 3D workspace 53 USE oce, ONLY : ztrds => va ! use va as 3D workspace 54 USE iom 54 55 !! 55 56 INTEGER, INTENT( in ) :: kt ! ocean time-step … … 444 445 ! Boundary condition on w_bbl (unchanged sign) 445 446 CALL lbc_lnk( w_bbl, 'W', 1. ) 447 448 CALL iom_put( "uoce_bbl", u_bbl ) ! bbl i-current 449 CALL iom_put( "voce_bbl", v_bbl ) ! bbl j-current 450 CALL iom_put( "woce_bbl", w_bbl ) ! bbl vert. current 446 451 ! 447 452 END SUBROUTINE tra_bbl_adv -
trunk/NEMO/OPA_SRC/ZDF/zdfevd.F90
r1438 r1482 20 20 USE zdfkpp ! KPP vertical mixing 21 21 USE in_out_manager ! I/O manager 22 USE iom ! for iom_put 22 23 USE lbclnk ! ocean lateral boundary conditions (or mpp link) 23 24 … … 132 133 133 134 ! update of avt_evd and avmu_evd 134 avt_evd (:,:,:) = avt (:,:,:) - avt_evd (:,:,:) 135 avmu_evd(:,:,:) = avmu(:,:,:) - avmu_evd(:,:,:) 135 avt_evd (:,:,:) = avt (:,:,:) - avt_evd (:,:,:) 136 avmu_evd(:,:,:) = avmu(:,:,:) - avmu_evd(:,:,:) 137 CALL iom_put( "avt_evd", avt_evd ) ! T enhan. vert. eddy diff. coef. 138 CALL iom_put( "avm_evd", avmu_evd ) ! T enhan. vert. eddy visc. coef. 136 139 137 140 END SUBROUTINE zdf_evd -
trunk/NEMO/OPA_SRC/ZDF/zdfmxl.F90
r1152 r1482 15 15 USE in_out_manager ! I/O manager 16 16 USE prtctl ! Print control 17 USE iom 17 18 18 19 IMPLICIT NONE … … 101 102 END DO 102 103 END DO 104 CALL iom_put( "mldturb", hmld ) ! turbocline depth 103 105 104 106 !!gm idea … … 136 138 END DO 137 139 END DO 138 140 CALL iom_put( "mld010", hmlp ) ! mixed layer depth 141 139 142 IF(ln_ctl) CALL prt_ctl( tab2d_1=REAL(nmln,wp), clinfo1=' nmln : ', tab2d_2=hmld, clinfo2=' hmld : ', ovlap=1 ) 140 143 -
trunk/NEMO/OPA_SRC/step.F90
r1481 r1482 190 190 IF( lk_bdy ) CALL bdy_dta( kstp ) ! update dynamic and tracer data at unstructured open boundary 191 191 192 IF( ninist == 1 ) THEN ! Output the initial state and forcings193 CALL dia_wri_state( 'output.init', kstp )194 ninist = 0195 ENDIF196 197 192 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 198 193 ! Ocean dynamics : ssh, wn, hdiv, rot ! … … 260 255 IF( lk_traldf_eiv ) CALL ldf_eiv( kstp ) ! eddy induced velocity coefficient 261 256 # endif 257 258 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 259 ! diagnostics and outputs 260 !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 261 CALL dia_wri( kstp, indic ) ! ocean model: outputs 262 IF( lk_floats ) CALL flo_stp( kstp ) ! drifting Floats 263 IF( lk_diaspr ) CALL dia_spr( kstp ) ! Surface pressure diagnostics 264 IF( lk_diahth ) CALL dia_hth( kstp ) ! Thermocline depth (20 degres isotherm depth) 265 IF( lk_diagap ) CALL dia_gap( kstp ) ! basin averaged diagnostics 266 IF( lk_diahdy ) CALL dia_hdy( kstp ) ! dynamical heigh diagnostics 267 IF( lk_diafwb ) CALL dia_fwb( kstp ) ! Fresh water budget diagnostics 268 IF( ln_diaptr ) CALL dia_ptr( kstp ) ! Poleward TRansports diagnostics 262 269 263 270 #if defined key_top … … 337 344 !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 338 345 CALL stp_ctl( kstp, indic ) 339 IF( indic < 0 ) CALL ctl_stop( 'step: indic < 0' ) 346 IF( indic < 0 ) THEN 347 CALL ctl_stop( 'step: indic < 0' ) 348 CALL dia_wri_state( 'output.abort', kstp ) 349 ENDIF 340 350 IF( kstp == nit000 ) CALL iom_close( numror ) ! close input ocean restart file 341 351 IF( lrst_oce ) CALL rst_write ( kstp ) ! write output ocean restart file … … 343 353 344 354 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 345 ! diagnostics and outputs355 ! Trends 346 356 !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 347 357 ! N.B. ua, va, ta, sa arrays are used as workspace in this section … … 349 359 350 360 IF( nstop == 0 ) THEN ! Diagnostics: 351 IF( lk_floats ) CALL flo_stp( kstp ) ! drifting Floats352 361 IF( lk_trddyn ) CALL trd_dwr( kstp ) ! trends: dynamics 353 362 IF( lk_trdtra ) CALL trd_twr( kstp ) ! trends: active tracers 354 363 IF( lk_trdmld ) CALL trd_mld( kstp ) ! trends: Mixed-layer 355 364 IF( lk_trdvor ) CALL trd_vor( kstp ) ! trends: vorticity budget 356 IF( lk_diaspr ) CALL dia_spr( kstp ) ! Surface pressure diagnostics357 IF( lk_diahth ) CALL dia_hth( kstp ) ! Thermocline depth (20 degres isotherm depth)358 IF( lk_diagap ) CALL dia_gap( kstp ) ! basin averaged diagnostics359 IF( lk_diahdy ) CALL dia_hdy( kstp ) ! dynamical heigh diagnostics360 IF( lk_diafwb ) CALL dia_fwb( kstp ) ! Fresh water budget diagnostics361 IF( ln_diaptr ) CALL dia_ptr( kstp ) ! Poleward TRansports diagnostics362 ! ! outputs363 CALL dia_wri( kstp, indic ) ! ocean model: outputs364 365 ENDIF 365 366
Note: See TracChangeset
for help on using the changeset viewer.