Changeset 5034 for branches/2014/dev_r4650_UKMO14.12_STAND_ALONE_OBSOPER/NEMOGCM/NEMO/OPA_SRC/DIA/diawri.F90
- Timestamp:
- 2015-01-15T14:48:42+01:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2014/dev_r4650_UKMO14.12_STAND_ALONE_OBSOPER/NEMOGCM/NEMO/OPA_SRC/DIA/diawri.F90
r4570 r5034 44 44 USE in_out_manager ! I/O manager 45 45 USE diadimg ! dimg direct access file format output 46 USE diaar5, ONLY : lk_diaar547 USE dynadv, ONLY : ln_dynadv_vec48 46 USE iom 49 47 USE ioipsl … … 89 87 INTEGER, DIMENSION(2) :: ierr 90 88 !!---------------------------------------------------------------------- 91 !92 89 ierr = 0 93 !94 90 ALLOCATE( ndex_hT(jpi*jpj) , ndex_T(jpi*jpj*jpk) , & 95 91 & ndex_hU(jpi*jpj) , ndex_U(jpi*jpj*jpk) , & … … 131 127 REAL(wp) :: zztmp, zztmpx, zztmpy ! 132 128 !! 133 REAL(wp), POINTER, DIMENSION(:,:) :: z2d 129 REAL(wp), POINTER, DIMENSION(:,:) :: z2d ! 2D workspace 134 130 REAL(wp), POINTER, DIMENSION(:,:,:) :: z3d ! 3D workspace 135 131 !!---------------------------------------------------------------------- … … 149 145 z3d(:,:,:) = tsn(:,:,:,jp_tem) * fse3t_n(:,:,:) 150 146 CALL iom_put( "toce" , z3d ) ! heat content 151 CALL iom_put( "sst" , z3d(:,:,1) ) ! sea surface heat content 152 z3d(:,:,1) = tsn(:,:,1,jp_tem) * z3d(:,:,1) 153 CALL iom_put( "sst2" , z3d(:,:,1) ) ! sea surface content of squared temperature 147 DO jj = 1, jpj 148 DO ji = 1, jpi 149 z2d(ji,jj) = tsn(ji,jj,mikt(ji,jj),jp_tem) * fse3t_n(ji,jj,mikt(ji,jj)) 150 END DO 151 END DO 152 CALL iom_put( "sst" , z2d(:,:) ) ! sea surface heat content 153 DO jj = 1, jpj 154 DO ji = 1, jpi 155 z2d(ji,jj) = tsn(ji,jj,mikt(ji,jj),jp_tem)**2 * fse3t_n(ji,jj,mikt(ji,jj)) 156 END DO 157 END DO 158 CALL iom_put( "sst2" , z2d(:,:) ) ! sea surface content of squared temperature 154 159 z3d(:,:,:) = tsn(:,:,:,jp_sal) * fse3t_n(:,:,:) 155 160 CALL iom_put( "soce" , z3d ) ! salinity content 156 CALL iom_put( "sss" , z3d(:,:,1) ) ! sea surface salinity content 157 z3d(:,:,1) = tsn(:,:,1,jp_sal) * z3d(:,:,1) 158 CALL iom_put( "sss2" , z3d(:,:,1) ) ! sea surface content of squared salinity 161 DO jj = 1, jpj 162 DO ji = 1, jpi 163 z2d(ji,jj) = tsn(ji,jj,mikt(ji,jj),jp_sal) * fse3t_n(ji,jj,mikt(ji,jj)) 164 END DO 165 END DO 166 CALL iom_put( "sss" , z2d(:,:) ) ! sea surface salinity content 167 DO jj = 1, jpj 168 DO ji = 1, jpi 169 z2d(ji,jj) = tsn(ji,jj,mikt(ji,jj),jp_sal)**2 * fse3t_n(ji,jj,mikt(ji,jj)) 170 END DO 171 END DO 172 CALL iom_put( "sss2" , z2d(:,:) ) ! sea surface content of squared salinity 159 173 ELSE 160 CALL iom_put( "toce" , tsn(:,:,:,jp_tem) ) ! temperature 161 CALL iom_put( "sst" , tsn(:,:,1,jp_tem) ) ! sea surface temperature 162 CALL iom_put( "sst2" , tsn(:,:,1,jp_tem) * tsn(:,:,1,jp_tem) ) ! square of sea surface temperature 174 CALL iom_put( "toce" , tsn(:,:,:,jp_tem) ) ! temperature 175 IF ( iom_use("sst") ) THEN 176 DO jj = 1, jpj 177 DO ji = 1, jpi 178 z2d(ji,jj) = tsn(ji,jj,mikt(ji,jj),jp_tem) 179 END DO 180 END DO 181 CALL iom_put( "sst" , z2d(:,:) ) ! sea surface temperature 182 ENDIF 183 IF ( iom_use("sst2") ) CALL iom_put( "sst2" , z2d(:,:) * z2d(:,:) ) ! square of sea surface temperature 163 184 CALL iom_put( "soce" , tsn(:,:,:,jp_sal) ) ! salinity 164 CALL iom_put( "sss" , tsn(:,:,1,jp_sal) ) ! sea surface salinity 165 CALL iom_put( "sss2" , tsn(:,:,1,jp_sal) * tsn(:,:,1,jp_sal) ) ! square of sea surface salinity 185 IF ( iom_use("sss") ) THEN 186 DO jj = 1, jpj 187 DO ji = 1, jpi 188 z2d(ji,jj) = tsn(ji,jj,mikt(ji,jj),jp_sal) 189 END DO 190 END DO 191 CALL iom_put( "sss" , z2d(:,:) ) ! sea surface salinity 192 ENDIF 193 CALL iom_put( "sss2" , z2d(:,:) * z2d(:,:) ) ! square of sea surface salinity 166 194 END IF 167 195 IF( lk_vvl .AND. (.NOT. ln_dynadv_vec) ) THEN 168 CALL iom_put( "uoce" , u n(:,:,:) * fse3u_n(:,:,:) ) ! i-transport169 CALL iom_put( "voce" , v n(:,:,:) * fse3v_n(:,:,:) ) ! j-transport196 CALL iom_put( "uoce" , umask(:,:,:) * un(:,:,:) * fse3u_n(:,:,:) ) ! i-transport 197 CALL iom_put( "voce" , vmask(:,:,:) * vn(:,:,:) * fse3v_n(:,:,:) ) ! j-transport 170 198 ELSE 171 CALL iom_put( "uoce" , un ) ! i-current 172 CALL iom_put( "voce" , vn ) ! j-current 173 END IF 199 CALL iom_put( "uoce" , umask(:,:,:) * un(:,:,:) ) ! i-current 200 CALL iom_put( "voce" , vmask(:,:,:) * vn(:,:,:) ) ! j-current 201 IF ( iom_use("ssu") ) THEN 202 DO jj = 1, jpj 203 DO ji = 1, jpi 204 z2d(ji,jj) = un(ji,jj,miku(ji,jj)) 205 END DO 206 END DO 207 CALL iom_put( "ssu" , z2d ) ! i-current 208 ENDIF 209 IF ( iom_use("ssv") ) THEN 210 DO jj = 1, jpj 211 DO ji = 1, jpi 212 z2d(ji,jj) = vn(ji,jj,mikv(ji,jj)) 213 END DO 214 END DO 215 CALL iom_put( "ssv" , z2d ) ! j-current 216 ENDIF 217 ENDIF 174 218 CALL iom_put( "avt" , avt ) ! T vert. eddy diff. coef. 175 219 CALL iom_put( "avm" , avmu ) ! T vert. eddy visc. coef. … … 178 222 ENDIF 179 223 180 DO jj = 2, jpjm1 ! sst gradient 181 DO ji = fs_2, fs_jpim1 ! vector opt. 182 zztmp = tsn(ji,jj,1,jp_tem) 183 zztmpx = ( tsn(ji+1,jj ,1,jp_tem) - zztmp ) / e1u(ji,jj) + ( zztmp - tsn(ji-1,jj ,1,jp_tem) ) / e1u(ji-1,jj ) 184 zztmpy = ( tsn(ji ,jj+1,1,jp_tem) - zztmp ) / e2v(ji,jj) + ( zztmp - tsn(ji ,jj-1,1,jp_tem) ) / e2v(ji ,jj-1) 185 z2d(ji,jj) = 0.25 * ( zztmpx * zztmpx + zztmpy * zztmpy ) & 186 & * umask(ji,jj,1) * umask(ji-1,jj,1) * vmask(ji,jj,1) * umask(ji,jj-1,1) 187 END DO 188 END DO 189 CALL lbc_lnk( z2d, 'T', 1. ) 190 CALL iom_put( "sstgrad2", z2d ) ! square of module of sst gradient 191 !CDIR NOVERRCHK 192 z2d(:,:) = SQRT( z2d(:,:) ) 193 CALL iom_put( "sstgrad" , z2d ) ! module of sst gradient 194 195 IF( lk_diaar5 ) THEN 224 IF ( iom_use("sstgrad2") .OR. iom_use("sstgrad2") ) THEN 225 DO jj = 2, jpjm1 ! sst gradient 226 DO ji = fs_2, fs_jpim1 ! vector opt. 227 zztmp = tsn(ji,jj,1,jp_tem) 228 zztmpx = ( tsn(ji+1,jj ,1,jp_tem) - zztmp ) / e1u(ji,jj) + ( zztmp - tsn(ji-1,jj ,1,jp_tem) ) / e1u(ji-1,jj ) 229 zztmpy = ( tsn(ji ,jj+1,1,jp_tem) - zztmp ) / e2v(ji,jj) + ( zztmp - tsn(ji ,jj-1,1,jp_tem) ) / e2v(ji ,jj-1) 230 z2d(ji,jj) = 0.25 * ( zztmpx * zztmpx + zztmpy * zztmpy ) & 231 & * umask(ji,jj,1) * umask(ji-1,jj,1) * vmask(ji,jj,1) * umask(ji,jj-1,1) 232 END DO 233 END DO 234 CALL lbc_lnk( z2d, 'T', 1. ) 235 CALL iom_put( "sstgrad2", z2d ) ! square of module of sst gradient 236 !CDIR NOVERRCHK< 237 z2d(:,:) = SQRT( z2d(:,:) ) 238 CALL iom_put( "sstgrad" , z2d ) ! module of sst gradient 239 ENDIF 240 241 ! clem: heat and salt content 242 IF( iom_use("heatc") ) THEN 243 z2d(:,:) = 0._wp 244 DO jk = 1, jpkm1 245 DO jj = 2, jpjm1 246 DO ji = fs_2, fs_jpim1 ! vector opt. 247 z2d(ji,jj) = z2d(ji,jj) + fse3t(ji,jj,jk) * tsn(ji,jj,jk,jp_tem) * tmask(ji,jj,jk) 248 END DO 249 END DO 250 END DO 251 CALL lbc_lnk( z2d, 'T', 1. ) 252 CALL iom_put( "heatc", (rau0 * rcp) * z2d ) ! vertically integrated heat content (J/m2) 253 ENDIF 254 255 IF( iom_use("saltc") ) THEN 256 z2d(:,:) = 0._wp 257 DO jk = 1, jpkm1 258 DO jj = 2, jpjm1 259 DO ji = fs_2, fs_jpim1 ! vector opt. 260 z2d(ji,jj) = z2d(ji,jj) + fse3t(ji,jj,jk) * tsn(ji,jj,jk,jp_sal) * tmask(ji,jj,jk) 261 END DO 262 END DO 263 END DO 264 CALL lbc_lnk( z2d, 'T', 1. ) 265 CALL iom_put( "saltc", rau0 * z2d ) ! vertically integrated salt content (PSU*kg/m2) 266 ENDIF 267 ! 268 IF ( iom_use("eken") ) THEN 269 rke(:,:,jk) = 0._wp ! kinetic energy 270 DO jk = 1, jpkm1 271 DO jj = 2, jpjm1 272 DO ji = fs_2, fs_jpim1 ! vector opt. 273 zztmp = 1._wp / ( e1e2t(ji,jj) * fse3t(ji,jj,jk) ) 274 zztmpx = 0.5 * ( un(ji-1,jj,jk) * un(ji-1,jj,jk) * e2u(ji-1,jj) * fse3u(ji-1,jj,jk) & 275 & + un(ji ,jj,jk) * un(ji ,jj,jk) * e2u(ji ,jj) * fse3u(ji ,jj,jk) ) & 276 & * zztmp 277 ! 278 zztmpy = 0.5 * ( vn(ji,jj-1,jk) * vn(ji,jj-1,jk) * e1v(ji,jj-1) * fse3v(ji,jj-1,jk) & 279 & + vn(ji,jj ,jk) * vn(ji,jj ,jk) * e1v(ji,jj ) * fse3v(ji,jj ,jk) ) & 280 & * zztmp 281 ! 282 rke(ji,jj,jk) = 0.5_wp * ( zztmpx + zztmpy ) 283 ! 284 ENDDO 285 ENDDO 286 ENDDO 287 CALL lbc_lnk( rke, 'T', 1. ) 288 CALL iom_put( "eken", rke ) 289 ENDIF 290 291 IF( iom_use("u_masstr") .OR. iom_use("u_heattr") .OR. iom_use("u_salttr") ) THEN 196 292 z3d(:,:,jpk) = 0.e0 197 293 DO jk = 1, jpkm1 198 z3d(:,:,jk) = rau0 * un(:,:,jk) * e2u(:,:) * fse3u(:,:,jk) 294 z3d(:,:,jk) = rau0 * un(:,:,jk) * e2u(:,:) * fse3u(:,:,jk) * umask(:,:,jk) 199 295 END DO 200 296 CALL iom_put( "u_masstr", z3d ) ! mass transport in i-direction 201 zztmp = 0.5 * rcp 297 ENDIF 298 299 IF( iom_use("u_heattr") ) THEN 202 300 z2d(:,:) = 0.e0 203 301 DO jk = 1, jpkm1 204 302 DO jj = 2, jpjm1 205 303 DO ji = fs_2, fs_jpim1 ! vector opt. 206 z2d(ji,jj) = z2d(ji,jj) + z3d(ji,jj,jk) * zztmp *( tsn(ji,jj,jk,jp_tem) + tsn(ji+1,jj,jk,jp_tem) )304 z2d(ji,jj) = z2d(ji,jj) + z3d(ji,jj,jk) * ( tsn(ji,jj,jk,jp_tem) + tsn(ji+1,jj,jk,jp_tem) ) 207 305 END DO 208 306 END DO 209 307 END DO 210 308 CALL lbc_lnk( z2d, 'U', -1. ) 211 CALL iom_put( "u_heattr", z2d ) ! heat transport in i-direction 212 DO jk = 1, jpkm1 213 z3d(:,:,jk) = rau0 * vn(:,:,jk) * e1v(:,:) * fse3v(:,:,jk) 214 END DO 215 CALL iom_put( "v_masstr", z3d ) ! mass transport in j-direction 309 CALL iom_put( "u_heattr", (0.5 * rcp) * z2d ) ! heat transport in i-direction 310 ENDIF 311 312 IF( iom_use("u_salttr") ) THEN 216 313 z2d(:,:) = 0.e0 217 314 DO jk = 1, jpkm1 218 315 DO jj = 2, jpjm1 219 316 DO ji = fs_2, fs_jpim1 ! vector opt. 220 z2d(ji,jj) = z2d(ji,jj) + z3d(ji,jj,jk) * zztmp * ( tsn(ji,jj,jk,jp_tem) + tsn(ji,jj+1,jk,jp_tem) )317 z2d(ji,jj) = z2d(ji,jj) + z3d(ji,jj,jk) * ( tsn(ji,jj,jk,jp_sal) + tsn(ji+1,jj,jk,jp_sal) ) 221 318 END DO 222 319 END DO 223 320 END DO 321 CALL lbc_lnk( z2d, 'U', -1. ) 322 CALL iom_put( "u_salttr", 0.5 * z2d ) ! heat transport in i-direction 323 ENDIF 324 325 326 IF( iom_use("v_masstr") .OR. iom_use("v_heattr") .OR. iom_use("v_salttr") ) THEN 327 z3d(:,:,jpk) = 0.e0 328 DO jk = 1, jpkm1 329 z3d(:,:,jk) = rau0 * vn(:,:,jk) * e1v(:,:) * fse3v(:,:,jk) * vmask(:,:,jk) 330 END DO 331 CALL iom_put( "v_masstr", z3d ) ! mass transport in j-direction 332 ENDIF 333 334 IF( iom_use("v_heattr") ) THEN 335 z2d(:,:) = 0.e0 336 DO jk = 1, jpkm1 337 DO jj = 2, jpjm1 338 DO ji = fs_2, fs_jpim1 ! vector opt. 339 z2d(ji,jj) = z2d(ji,jj) + z3d(ji,jj,jk) * ( tsn(ji,jj,jk,jp_tem) + tsn(ji,jj+1,jk,jp_tem) ) 340 END DO 341 END DO 342 END DO 224 343 CALL lbc_lnk( z2d, 'V', -1. ) 225 CALL iom_put( "v_heattr", z2d ) ! heat transport in i-direction 344 CALL iom_put( "v_heattr", (0.5 * rcp) * z2d ) ! heat transport in j-direction 345 ENDIF 346 347 IF( iom_use("v_salttr") ) THEN 348 z2d(:,:) = 0.e0 349 DO jk = 1, jpkm1 350 DO jj = 2, jpjm1 351 DO ji = fs_2, fs_jpim1 ! vector opt. 352 z2d(ji,jj) = z2d(ji,jj) + z3d(ji,jj,jk) * ( tsn(ji,jj,jk,jp_sal) + tsn(ji,jj+1,jk,jp_sal) ) 353 END DO 354 END DO 355 END DO 356 CALL lbc_lnk( z2d, 'V', -1. ) 357 CALL iom_put( "v_salttr", 0.5 * z2d ) ! heat transport in j-direction 226 358 ENDIF 227 359 ! … … 489 621 ENDIF 490 622 491 #if ! defined key_coupled 492 CALL histdef( nid_T, "sohefldp", "Surface Heat Flux: Damping" , "W/m2" , & ! qrp 493 & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) 494 CALL histdef( nid_T, "sowafldp", "Surface Water Flux: Damping" , "Kg/m2/s", & ! erp 495 & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) 496 CALL histdef( nid_T, "sosafldp", "Surface salt flux: damping" , "Kg/m2/s", & ! erp * sn 497 & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) 498 #endif 499 500 501 502 #if ( defined key_coupled && ! defined key_lim3 && ! defined key_lim2 ) 503 CALL histdef( nid_T, "sohefldp", "Surface Heat Flux: Damping" , "W/m2" , & ! qrp 504 & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) 505 CALL histdef( nid_T, "sowafldp", "Surface Water Flux: Damping" , "Kg/m2/s", & ! erp 506 & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) 507 CALL histdef( nid_T, "sosafldp", "Surface salt flux: Damping" , "Kg/m2/s", & ! erp * sn 508 & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) 509 #endif 623 IF( .NOT. lk_cpl ) THEN 624 CALL histdef( nid_T, "sohefldp", "Surface Heat Flux: Damping" , "W/m2" , & ! qrp 625 & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) 626 CALL histdef( nid_T, "sowafldp", "Surface Water Flux: Damping" , "Kg/m2/s", & ! erp 627 & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) 628 CALL histdef( nid_T, "sosafldp", "Surface salt flux: damping" , "Kg/m2/s", & ! erp * sn 629 & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) 630 ENDIF 631 632 IF( lk_cpl .AND. nn_ice <= 1 ) THEN 633 CALL histdef( nid_T, "sohefldp", "Surface Heat Flux: Damping" , "W/m2" , & ! qrp 634 & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) 635 CALL histdef( nid_T, "sowafldp", "Surface Water Flux: Damping" , "Kg/m2/s", & ! erp 636 & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) 637 CALL histdef( nid_T, "sosafldp", "Surface salt flux: Damping" , "Kg/m2/s", & ! erp * sn 638 & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) 639 ENDIF 640 510 641 clmx ="l_max(only(x))" ! max index on a period 511 642 CALL histdef( nid_T, "sobowlin", "Bowl Index" , "W-point", & ! bowl INDEX … … 522 653 #endif 523 654 524 #if defined key_coupled 525 # if defined key_lim3 526 Must be adapted to LIM3 527 # endif 528 # if defined key_lim2 529 CALL histdef( nid_T,"soicetem" , "Ice Surface Temperature" , "K" , & ! tn_ice 530 & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) 531 CALL histdef( nid_T,"soicealb" , "Ice Albedo" , "[0,1]" , & ! alb_ice 532 & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) 533 # endif 534 #endif 655 IF( lk_cpl .AND. nn_ice == 2 ) THEN 656 CALL histdef( nid_T,"soicetem" , "Ice Surface Temperature" , "K" , & ! tn_ice 657 & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) 658 CALL histdef( nid_T,"soicealb" , "Ice Albedo" , "[0,1]" , & ! alb_ice 659 & jpi, jpj, nh_T, 1 , 1, 1 , -99 , 32, clop, zsto, zout ) 660 ENDIF 535 661 536 662 CALL histend( nid_T, snc4chunks=snc4set ) … … 623 749 ENDIF 624 750 625 ! Write fields on T grid626 751 IF( lk_vvl ) THEN 627 752 CALL histwrite( nid_T, "votemper", it, tsn(:,:,:,jp_tem) * fse3t_n(:,:,:) , ndim_T , ndex_T ) ! heat content … … 634 759 CALL histwrite( nid_T, "sosstsst", it, tsn(:,:,1,jp_tem) , ndim_hT, ndex_hT ) ! sea surface temperature 635 760 CALL histwrite( nid_T, "sosaline", it, tsn(:,:,1,jp_sal) , ndim_hT, ndex_hT ) ! sea surface salinity 636 637 761 ENDIF 638 762 IF( lk_vvl ) THEN … … 684 808 ENDIF 685 809 686 #if ! defined key_coupled 687 CALL histwrite( nid_T, "sohefldp", it, qrp , ndim_hT, ndex_hT ) ! heat flux damping 688 CALL histwrite( nid_T, "sowafldp", it, erp , ndim_hT, ndex_hT ) ! freshwater flux damping 689 IF( ln_ssr ) zw2d(:,:) = erp(:,:) * tsn(:,:,1,jp_sal) * tmask(:,:,1) 690 CALL histwrite( nid_T, "sosafldp", it, zw2d , ndim_hT, ndex_hT ) ! salt flux damping 691 #endif 692 #if ( defined key_coupled && ! defined key_lim3 && ! defined key_lim2 ) 693 CALL histwrite( nid_T, "sohefldp", it, qrp , ndim_hT, ndex_hT ) ! heat flux damping 694 CALL histwrite( nid_T, "sowafldp", it, erp , ndim_hT, ndex_hT ) ! freshwater flux damping 810 IF( .NOT. lk_cpl ) THEN 811 CALL histwrite( nid_T, "sohefldp", it, qrp , ndim_hT, ndex_hT ) ! heat flux damping 812 CALL histwrite( nid_T, "sowafldp", it, erp , ndim_hT, ndex_hT ) ! freshwater flux damping 695 813 IF( ln_ssr ) zw2d(:,:) = erp(:,:) * tsn(:,:,1,jp_sal) * tmask(:,:,1) 696 CALL histwrite( nid_T, "sosafldp", it, zw2d , ndim_hT, ndex_hT ) ! salt flux damping 697 #endif 698 zw2d(:,:) = FLOAT( nmln(:,:) ) * tmask(:,:,1) 699 CALL histwrite( nid_T, "sobowlin", it, zw2d , ndim_hT, ndex_hT ) ! ??? 814 CALL histwrite( nid_T, "sosafldp", it, zw2d , ndim_hT, ndex_hT ) ! salt flux damping 815 ENDIF 816 IF( lk_cpl .AND. nn_ice <= 1 ) THEN 817 CALL histwrite( nid_T, "sohefldp", it, qrp , ndim_hT, ndex_hT ) ! heat flux damping 818 CALL histwrite( nid_T, "sowafldp", it, erp , ndim_hT, ndex_hT ) ! freshwater flux damping 819 IF( ln_ssr ) zw2d(:,:) = erp(:,:) * tsn(:,:,1,jp_sal) * tmask(:,:,1) 820 CALL histwrite( nid_T, "sosafldp", it, zw2d , ndim_hT, ndex_hT ) ! salt flux damping 821 ENDIF 822 ! zw2d(:,:) = FLOAT( nmln(:,:) ) * tmask(:,:,1) 823 ! CALL histwrite( nid_T, "sobowlin", it, zw2d , ndim_hT, ndex_hT ) ! ??? 700 824 701 825 #if defined key_diahth … … 706 830 #endif 707 831 708 #if defined key_coupled 709 # if defined key_lim3 710 Must be adapted for LIM3 711 CALL histwrite( nid_T, "soicetem", it, tn_ice , ndim_hT, ndex_hT ) ! surf. ice temperature 712 CALL histwrite( nid_T, "soicealb", it, alb_ice , ndim_hT, ndex_hT ) ! ice albedo 713 # endif 714 # if defined key_lim2 715 CALL histwrite( nid_T, "soicetem", it, tn_ice(:,:,1) , ndim_hT, ndex_hT ) ! surf. ice temperature 716 CALL histwrite( nid_T, "soicealb", it, alb_ice(:,:,1), ndim_hT, ndex_hT ) ! ice albedo 717 # endif 718 #endif 719 ! Write fields on U grid 832 IF( lk_cpl .AND. nn_ice == 2 ) THEN 833 CALL histwrite( nid_T, "soicetem", it, tn_ice(:,:,1) , ndim_hT, ndex_hT ) ! surf. ice temperature 834 CALL histwrite( nid_T, "soicealb", it, alb_ice(:,:,1), ndim_hT, ndex_hT ) ! ice albedo 835 ENDIF 836 720 837 CALL histwrite( nid_U, "vozocrtx", it, un , ndim_U , ndex_U ) ! i-current 721 838 IF( ln_traldf_gdia ) THEN … … 739 856 CALL histwrite( nid_U, "sozotaux", it, utau , ndim_hU, ndex_hU ) ! i-wind stress 740 857 741 ! Write fields on V grid742 858 CALL histwrite( nid_V, "vomecrty", it, vn , ndim_V , ndex_V ) ! j-current 743 859 IF( ln_traldf_gdia ) THEN … … 754 870 CALL histwrite( nid_V, "sometauy", it, vtau , ndim_hV, ndex_hV ) ! j-wind stress 755 871 756 ! Write fields on W grid757 872 CALL histwrite( nid_W, "vovecrtz", it, wn , ndim_T, ndex_T ) ! vert. current 758 873 IF( ln_traldf_gdia ) THEN
Note: See TracChangeset
for help on using the changeset viewer.