- Timestamp:
- 2015-07-02T15:49:24+02:00 (9 years ago)
- Location:
- branches/UKMO/dev_r5021_nn_etau_revision/NEMOGCM/NEMO/OPA_SRC
- Files:
-
- 24 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5021_nn_etau_revision/NEMOGCM/NEMO/OPA_SRC/DIA/diadct.F90
r5448 r5532 176 176 177 177 !open output file 178 IF( lw p) THEN178 IF( lwm ) THEN 179 179 CALL ctl_opn( numdct_vol, 'volume_transport', 'NEW', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 180 180 CALL ctl_opn( numdct_heat, 'heat_transport' , 'NEW', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) … … 283 283 DO jsec=1,nb_sec 284 284 285 IF( lw p)CALL dia_dct_wri(kt,jsec,secs(jsec))285 IF( lwm )CALL dia_dct_wri(kt,jsec,secs(jsec)) 286 286 287 287 !nullify transports values after writing -
branches/UKMO/dev_r5021_nn_etau_revision/NEMOGCM/NEMO/OPA_SRC/DIA/diafwb.F90
r5446 r5532 166 166 CASE ( 1 ) ! ORCA_R1 configurations 167 167 ! ! ======================= 168 ! This dirty section will be suppressed by simplification process: all this will come back in input files 169 ! Currently these hard-wired indices relate to the original (pre-v3.6) configuration 170 ! which had a grid-size of 362x292. 171 ! This grid has been extended southwards for use with the under ice-shelf options (isf) introduced in v3.6. 172 ! The original domain can still be used optionally if the isf code is not activated. 173 ! An adjustment (isrow) is made to the hard-wired indices if the extended domain (362x332) is being used. 174 ! 175 IF ( jpjglo == 292 ) THEN ; isrow = 0 ! Using pre-v3.6 files or adjusted start row from isf-extended grid 176 ELSEIF( jpjglo == 332 ) THEN ; isrow = 40 ! Using full isfextended domain. 177 ENDIF ! Adjust jindices to account for more southerly starting latitude 168 ! This dirty section will be suppressed by simplification process: 169 ! all this will come back in input files 170 ! Currently these hard-wired indices relate to configuration with 171 ! extend grid (jpjglo=332) 172 isrow = 332 - jpjglo 173 ! 178 174 ii0 = 283 ; ii1 = 283 179 ij0 = 2 01 + isrow ; ij1 = 201 +isrow175 ij0 = 241 - isrow ; ij1 = 241 - isrow 180 176 ! ! ======================= 181 177 CASE DEFAULT ! ORCA R05 or R025 … … 223 219 CASE ( 1 ) ! ORCA_R1 configurations 224 220 ! ! ======================= 225 ! 226 ! 227 IF ( jpjglo == 292 ) THEN ; isrow = 0228 ELSEIF( jpjglo == 332 ) THEN ; isrow = 39229 ENDIF221 ! This dirty section will be suppressed by simplification process: 222 ! all this will come back in input files 223 ! Currently these hard-wired indices relate to configuration with 224 ! extend grid (jpjglo=332) 225 isrow = 332 - jpjglo 230 226 ii0 = 282 ; ii1 = 282 231 ij0 = 2 01 + isrow ; ij1 = 201 +isrow227 ij0 = 240 - isrow ; ij1 = 240 - isrow 232 228 ! ! ======================= 233 229 CASE DEFAULT ! ORCA R05 or R025 … … 275 271 CASE ( 1 ) ! ORCA_R1 configurations 276 272 ! ! ======================= 277 ! 278 ! 279 IF ( jpjglo == 292 ) THEN ; isrow = 0280 ELSEIF( jpjglo == 332 ) THEN ; isrow = 39281 ENDIF273 ! This dirty section will be suppressed by simplification process: 274 ! all this will come back in input files 275 ! Currently these hard-wired indices relate to configuration with 276 ! extend grid (jpjglo=332) 277 isrow = 332 - jpjglo 282 278 ii0 = 331 ; ii1 = 331 283 ij0 = 176 + isrow ; ij1 = 176 +isrow279 ij0 = 215 - isrow ; ij1 = 215 - isrow 284 280 ! ! ======================= 285 281 CASE DEFAULT ! ORCA R05 or R025 … … 327 323 CASE ( 1 ) ! ORCA_R1 configurations 328 324 ! ! ======================= 329 ! 330 ! 331 IF ( jpjglo == 292 ) THEN ; isrow = 0332 ELSEIF( jpjglo == 332 ) THEN ; isrow = 39333 ENDIF325 ! This dirty section will be suppressed by simplification process: 326 ! all this will come back in input files 327 ! Currently these hard-wired indices relate to configuration with 328 ! extend grid (jpjglo=332) 329 isrow = 332 - jpjglo 334 330 ii0 = 297 ; ii1 = 297 335 ij0 = 2 30 + isrow ; ij1 = 230 +isrow331 ij0 = 269 - isrow ; ij1 = 269 - isrow 336 332 ! ! ======================= 337 333 CASE DEFAULT ! ORCA R05 or R025 -
branches/UKMO/dev_r5021_nn_etau_revision/NEMOGCM/NEMO/OPA_SRC/DIA/diawri.F90
r5446 r5532 47 47 USE iom 48 48 USE ioipsl 49 USE dynspg_oce, ONLY: un_adv, vn_adv ! barotropic velocities 50 49 51 #if defined key_lim2 50 52 USE limwri_2 … … 126 128 !! 127 129 INTEGER :: ji, jj, jk ! dummy loop indices 130 INTEGER :: jkbot ! 128 131 REAL(wp) :: zztmp, zztmpx, zztmpy ! 129 132 !! … … 149 152 CALL iom_put( "e3w" , fse3w_n(:,:,:) ) 150 153 ENDIF 154 155 CALL iom_put( "ssh" , sshn ) ! sea surface height 156 if( iom_use('ssh2') ) CALL iom_put( "ssh2", sshn(:,:) * sshn(:,:) ) ! square of sea surface height 151 157 152 158 CALL iom_put( "toce", tsn(:,:,:,jp_tem) ) ! 3D temperature … … 155 161 DO jj = 1, jpj 156 162 DO ji = 1, jpi 157 z2d(ji,jj) = tsn(ji,jj,MAX(mbathy(ji,jj),1),jp_tem) 163 jkbot = mbkt(ji,jj) 164 z2d(ji,jj) = tsn(ji,jj,jkbot,jp_tem) 158 165 END DO 159 166 END DO … … 166 173 DO jj = 1, jpj 167 174 DO ji = 1, jpi 168 z2d(ji,jj) = tsn(ji,jj,MAX(mbathy(ji,jj),1),jp_sal) 175 jkbot = mbkt(ji,jj) 176 z2d(ji,jj) = tsn(ji,jj,jkbot,jp_sal) 169 177 END DO 170 178 END DO 171 179 CALL iom_put( "sbs", z2d ) ! bottom salinity 180 ENDIF 181 182 IF ( iom_use("taubot") ) THEN ! bottom stress 183 z2d(:,:) = 0._wp 184 DO jj = 2, jpjm1 185 DO ji = fs_2, fs_jpim1 ! vector opt. 186 zztmpx = ( bfrua(ji ,jj) * un(ji ,jj,mbku(ji ,jj)) & 187 & + bfrua(ji-1,jj) * un(ji-1,jj,mbku(ji-1,jj)) ) 188 zztmpy = ( bfrva(ji, jj) * vn(ji,jj ,mbkv(ji,jj )) & 189 & + bfrva(ji,jj-1) * vn(ji,jj-1,mbkv(ji,jj-1)) ) 190 z2d(ji,jj) = rau0 * SQRT( zztmpx * zztmpx + zztmpy * zztmpy ) * tmask(ji,jj,1) 191 ! 192 ENDDO 193 ENDDO 194 CALL lbc_lnk( z2d, 'T', 1. ) 195 CALL iom_put( "taubot", z2d ) 172 196 ENDIF 173 197 … … 177 201 DO jj = 1, jpj 178 202 DO ji = 1, jpi 179 z2d(ji,jj) = un(ji,jj,MAX(mbathy(ji,jj),1)) 203 jkbot = mbku(ji,jj) 204 z2d(ji,jj) = un(ji,jj,jkbot) 180 205 END DO 181 206 END DO 182 207 CALL iom_put( "sbu", z2d ) ! bottom i-current 183 208 ENDIF 209 #if defined key_dynspg_ts 210 CALL iom_put( "ubar", un_adv(:,:) ) ! barotropic i-current 211 #else 212 CALL iom_put( "ubar", un_b(:,:) ) ! barotropic i-current 213 #endif 184 214 185 215 CALL iom_put( "voce", vn(:,:,:) ) ! 3D j-current … … 188 218 DO jj = 1, jpj 189 219 DO ji = 1, jpi 190 z2d(ji,jj) = vn(ji,jj,MAX(mbathy(ji,jj),1)) 220 jkbot = mbkv(ji,jj) 221 z2d(ji,jj) = vn(ji,jj,jkbot) 191 222 END DO 192 223 END DO 193 224 CALL iom_put( "sbv", z2d ) ! bottom j-current 225 ENDIF 226 #if defined key_dynspg_ts 227 CALL iom_put( "vbar", vn_adv(:,:) ) ! barotropic j-current 228 #else 229 CALL iom_put( "vbar", vn_b(:,:) ) ! barotropic j-current 230 #endif 231 232 CALL iom_put( "woce", wn ) ! vertical velocity 233 IF( iom_use('w_masstr') .OR. iom_use('w_masstr2') ) THEN ! vertical mass transport & its square value 234 ! Caution: in the VVL case, it only correponds to the baroclinic mass transport. 235 z2d(:,:) = rau0 * e12t(:,:) 236 DO jk = 1, jpk 237 z3d(:,:,jk) = wn(:,:,jk) * z2d(:,:) 238 END DO 239 CALL iom_put( "w_masstr" , z3d ) 240 IF( iom_use('w_masstr2') ) CALL iom_put( "w_masstr2", z3d(:,:,:) * z3d(:,:,:) ) 194 241 ENDIF 195 242 -
branches/UKMO/dev_r5021_nn_etau_revision/NEMOGCM/NEMO/OPA_SRC/DOM/closea.F90
r5239 r5532 72 72 !!---------------------------------------------------------------------- 73 73 INTEGER :: jc ! dummy loop indices 74 INTEGER :: isrow ! local index 74 75 !!---------------------------------------------------------------------- 75 76 … … 91 92 CASE ( 1 ) ! ORCA_R1 configuration 92 93 ! ! ======================= 94 ! This dirty section will be suppressed by simplification process: 95 ! all this will come back in input files 96 ! Currently these hard-wired indices relate to configuration with 97 ! extend grid (jpjglo=332) 98 isrow = 332 - jpjglo 99 ! 93 100 ncsnr(1) = 1 ; ncstt(1) = 0 ! Caspian Sea 94 ncsi1(1) = 332 ; ncsj1(1) = 2 0395 ncsi2(1) = 344 ; ncsj2(1) = 2 35101 ncsi1(1) = 332 ; ncsj1(1) = 243 - isrow 102 ncsi2(1) = 344 ; ncsj2(1) = 275 - isrow 96 103 ncsir(1,1) = 1 ; ncsjr(1,1) = 1 97 104 ! -
branches/UKMO/dev_r5021_nn_etau_revision/NEMOGCM/NEMO/OPA_SRC/DOM/domhgr.F90
r5446 r5532 162 162 ! ! ===================== 163 163 ! This dirty section will be suppressed by simplification process: all this will come back in input files 164 ! Currently these hard-wired indices relate to the original (pre-v3.6) configuration 164 ! Currently these hard-wired indices relate to configuration with 165 ! extend grid (jpjglo=332) 165 166 ! which had a grid-size of 362x292. 166 ! This grid has been extended southwards for use with the under ice-shelf options (isf) introduced in v3.6.167 ! The original domain can still be used optionally if the isf code is not activated.168 ! An adjustment (isrow) is made to the hard-wired indices if the extended domain (362x332) is being used.169 167 ! 170 IF ( jpjglo == 292 ) THEN ; isrow = 0 ! Using pre-v3.6 files or adjusted start row from isf-extended grid 171 ELSEIF( jpjglo == 332 ) THEN ; isrow = 40 ! Using full isfextended domain. 172 ENDIF 168 isrow = 332 - jpjglo 173 169 ! 174 170 ii0 = 282 ; ii1 = 283 ! Gibraltar Strait (e2u = 20 km) 175 ij0 = 201 + isrow ; ij1 = 2 01 +isrow ; e2u( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 20.e3171 ij0 = 201 + isrow ; ij1 = 241 - isrow ; e2u( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 20.e3 176 172 IF(lwp) WRITE(numout,*) 177 173 IF(lwp) WRITE(numout,*) ' orca_r1: Gibraltar : e2u reduced to 20 km' 178 174 179 175 ii0 = 314 ; ii1 = 315 ! Bhosporus Strait (e2u = 10 km) 180 ij0 = 208 + isrow ; ij1 = 2 08 +isrow ; e2u( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 10.e3176 ij0 = 208 + isrow ; ij1 = 248 - isrow ; e2u( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 10.e3 181 177 IF(lwp) WRITE(numout,*) 182 178 IF(lwp) WRITE(numout,*) ' orca_r1: Bhosporus : e2u reduced to 10 km' 183 179 184 180 ii0 = 44 ; ii1 = 44 ! Lombok Strait (e1v = 13 km) 185 ij0 = 124 + isrow ; ij1 = 1 25 +isrow ; e1v( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 13.e3181 ij0 = 124 + isrow ; ij1 = 165 - isrow ; e1v( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 13.e3 186 182 IF(lwp) WRITE(numout,*) 187 183 IF(lwp) WRITE(numout,*) ' orca_r1: Lombok : e1v reduced to 10 km' 188 184 189 185 ii0 = 48 ; ii1 = 48 ! Sumba Strait (e1v = 8 km) [closed from bathy_11 on] 190 ij0 = 124 + isrow ; ij1 = 1 25 +isrow ; e1v( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 8.e3186 ij0 = 124 + isrow ; ij1 = 165 - isrow ; e1v( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 8.e3 191 187 IF(lwp) WRITE(numout,*) 192 188 IF(lwp) WRITE(numout,*) ' orca_r1: Sumba : e1v reduced to 8 km' 193 189 194 190 ii0 = 53 ; ii1 = 53 ! Ombai Strait (e1v = 13 km) 195 ij0 = 124 + isrow ; ij1 = 1 25 +isrow ; e1v( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 13.e3191 ij0 = 124 + isrow ; ij1 = 165 - isrow ; e1v( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 13.e3 196 192 IF(lwp) WRITE(numout,*) 197 193 IF(lwp) WRITE(numout,*) ' orca_r1: Ombai : e1v reduced to 13 km' 198 194 199 195 ii0 = 56 ; ii1 = 56 ! Timor Passage (e1v = 20 km) 200 ij0 = 124 + isrow ; ij1 = 1 25 +isrow ; e1v( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 20.e3196 ij0 = 124 + isrow ; ij1 = 145 - isrow ; e1v( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 20.e3 201 197 IF(lwp) WRITE(numout,*) 202 198 IF(lwp) WRITE(numout,*) ' orca_r1: Timor Passage : e1v reduced to 20 km' 203 199 204 200 ii0 = 55 ; ii1 = 55 ! West Halmahera Strait (e1v = 30 km) 205 ij0 = 141 + isrow ; ij1 = 1 42 +isrow ; e1v( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 30.e3201 ij0 = 141 + isrow ; ij1 = 182 - isrow ; e1v( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 30.e3 206 202 IF(lwp) WRITE(numout,*) 207 203 IF(lwp) WRITE(numout,*) ' orca_r1: W Halmahera : e1v reduced to 30 km' 208 204 209 205 ii0 = 58 ; ii1 = 58 ! East Halmahera Strait (e1v = 50 km) 210 ij0 = 141 + isrow ; ij1 = 1 42 +isrow ; e1v( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 50.e3206 ij0 = 141 + isrow ; ij1 = 182 - isrow ; e1v( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 50.e3 211 207 IF(lwp) WRITE(numout,*) 212 208 IF(lwp) WRITE(numout,*) ' orca_r1: E Halmahera : e1v reduced to 50 km' -
branches/UKMO/dev_r5021_nn_etau_revision/NEMOGCM/NEMO/OPA_SRC/DOM/dommsk.F90
r5446 r5532 402 402 IF( cp_cfg == "orca" .AND. jp_cfg == 1 ) THEN ! ORCA R1 configuration 403 403 ! ! Increased lateral friction near of some straits 404 ! This dirty section will be suppressed by simplification process: all this will come back in input files 405 ! Currently these hard-wired indices relate to the original (pre-v3.6) configuration 406 ! which had a grid-size of 362x292. 407 ! This grid has been extended southwards for use with the under ice-shelf options (isf) introduced in v3.6. 408 ! The original domain can still be used optionally if the isf code is not activated. 409 ! An adjustment (isrow) is made to the hard-wired indices if the extended domain (362x332) is being used. 410 ! 411 IF ( jpjglo == 292 ) THEN ; isrow = 0 ! Using pre-v3.6 files or adjusted start row from isf-extended grid 412 ELSEIF( jpjglo == 332 ) THEN ; isrow = 40 ! Using full isfextended domain. 413 ENDIF 414 404 ! This dirty section will be suppressed by simplification process: 405 ! all this will come back in input files 406 ! Currently these hard-wired indices relate to configuration with 407 ! extend grid (jpjglo=332) 408 ! 409 isrow = 332 - jpjglo 410 ! 415 411 IF(lwp) WRITE(numout,*) 416 412 IF(lwp) WRITE(numout,*) ' orca_r1: increase friction near the following straits : ' 417 413 IF(lwp) WRITE(numout,*) ' Gibraltar ' 418 414 ii0 = 282 ; ii1 = 283 ! Gibraltar Strait 419 ij0 = 201 + isrow ; ij1 = 2 01 +isrow ; fmask( mi0(ii0):mi1(ii1),mj0(ij0):mj1(ij1),1:jpk ) = 2._wp415 ij0 = 201 + isrow ; ij1 = 241 - isrow ; fmask( mi0(ii0):mi1(ii1),mj0(ij0):mj1(ij1),1:jpk ) = 2._wp 420 416 421 417 IF(lwp) WRITE(numout,*) ' Bhosporus ' 422 418 ii0 = 314 ; ii1 = 315 ! Bhosporus Strait 423 ij0 = 208 + isrow ; ij1 = 2 08 +isrow ; fmask( mi0(ii0):mi1(ii1),mj0(ij0):mj1(ij1),1:jpk ) = 2._wp419 ij0 = 208 + isrow ; ij1 = 248 - isrow ; fmask( mi0(ii0):mi1(ii1),mj0(ij0):mj1(ij1),1:jpk ) = 2._wp 424 420 425 421 IF(lwp) WRITE(numout,*) ' Makassar (Top) ' 426 422 ii0 = 48 ; ii1 = 48 ! Makassar Strait (Top) 427 ij0 = 149 + isrow ; ij1 = 1 50 +isrow ; fmask( mi0(ii0):mi1(ii1),mj0(ij0):mj1(ij1),1:jpk ) = 3._wp423 ij0 = 149 + isrow ; ij1 = 190 - isrow ; fmask( mi0(ii0):mi1(ii1),mj0(ij0):mj1(ij1),1:jpk ) = 3._wp 428 424 429 425 IF(lwp) WRITE(numout,*) ' Lombok ' 430 426 ii0 = 44 ; ii1 = 44 ! Lombok Strait 431 ij0 = 124 + isrow ; ij1 = 1 25 +isrow ; fmask( mi0(ii0):mi1(ii1),mj0(ij0):mj1(ij1),1:jpk ) = 2._wp427 ij0 = 124 + isrow ; ij1 = 165 - isrow ; fmask( mi0(ii0):mi1(ii1),mj0(ij0):mj1(ij1),1:jpk ) = 2._wp 432 428 433 429 IF(lwp) WRITE(numout,*) ' Ombai ' 434 430 ii0 = 53 ; ii1 = 53 ! Ombai Strait 435 ij0 = 124 + isrow ; ij1 = 1 25 +isrow ; fmask( mi0(ii0):mi1(ii1),mj0(ij0):mj1(ij1),1:jpk ) = 2._wp431 ij0 = 124 + isrow ; ij1 = 165 - isrow ; fmask( mi0(ii0):mi1(ii1),mj0(ij0):mj1(ij1),1:jpk ) = 2._wp 436 432 437 433 IF(lwp) WRITE(numout,*) ' Timor Passage ' 438 434 ii0 = 56 ; ii1 = 56 ! Timor Passage 439 ij0 = 124 + isrow ; ij1 = 1 25 +isrow ; fmask( mi0(ii0):mi1(ii1),mj0(ij0):mj1(ij1),1:jpk ) = 2._wp435 ij0 = 124 + isrow ; ij1 = 165 - isrow ; fmask( mi0(ii0):mi1(ii1),mj0(ij0):mj1(ij1),1:jpk ) = 2._wp 440 436 441 437 IF(lwp) WRITE(numout,*) ' West Halmahera ' 442 438 ii0 = 58 ; ii1 = 58 ! West Halmahera Strait 443 ij0 = 141 + isrow ; ij1 = 1 42 +isrow ; fmask( mi0(ii0):mi1(ii1),mj0(ij0):mj1(ij1),1:jpk ) = 3._wp439 ij0 = 141 + isrow ; ij1 = 182 - isrow ; fmask( mi0(ii0):mi1(ii1),mj0(ij0):mj1(ij1),1:jpk ) = 3._wp 444 440 445 441 IF(lwp) WRITE(numout,*) ' East Halmahera ' 446 442 ii0 = 55 ; ii1 = 55 ! East Halmahera Strait 447 ij0 = 141 + isrow ; ij1 = 1 42 +isrow ; fmask( mi0(ii0):mi1(ii1),mj0(ij0):mj1(ij1),1:jpk ) = 3._wp443 ij0 = 141 + isrow ; ij1 = 182 - isrow ; fmask( mi0(ii0):mi1(ii1),mj0(ij0):mj1(ij1),1:jpk ) = 3._wp 448 444 ! 449 445 ENDIF -
branches/UKMO/dev_r5021_nn_etau_revision/NEMOGCM/NEMO/OPA_SRC/DOM/domvvl.F90
r5446 r5532 1123 1123 IF( cp_cfg == "orca" .AND. jp_cfg == 1 ) THEN ! ORCA R1 configuration 1124 1124 ! ! ===================== 1125 ! This dirty section will be suppressed by simplification process: all this will come back in input files 1126 ! Currently these hard-wired indices relate to the original (pre-v3.6) configuration 1125 ! This dirty section will be suppressed by simplification process: 1126 ! all this will come back in input files 1127 ! Currently these hard-wired indices relate to configuration with 1128 ! extend grid (jpjglo=332) 1127 1129 ! which had a grid-size of 362x292. 1128 ! This grid has been extended southwards for use with the under ice-shelf options (isf) introduced in v3.6. 1129 ! The original domain can still be used optionally if the isf code is not activated. 1130 ! An adjustment (isrow) is made to the hard-wired indices if the extended domain (362x332) is being used. 1131 ! 1132 IF ( jpjglo == 292 ) THEN ; isrow = 0 ! Using pre-v3.6 files or adjusted start row from isf-extended grid 1133 ELSEIF( jpjglo == 332 ) THEN ; isrow = 40 ! Using full isfextended domain. 1134 ENDIF 1130 isrow = 332 - jpjglo 1135 1131 ! 1136 1132 ii0 = 282 ; ii1 = 283 ! Gibraltar Strait (e2u was modified) 1137 ij0 = 2 01 + isrow ; ij1 = 201 +isrow1133 ij0 = 241 - isrow ; ij1 = 241 - isrow 1138 1134 DO jk = 1, jpkm1 1139 1135 DO jj = mj0(ij0), mj1(ij1) … … 1156 1152 ! 1157 1153 ii0 = 314 ; ii1 = 315 ! Bhosporus Strait (e2u was modified) 1158 ij0 = 2 08 + isrow ; ij1 = 208 +isrow1154 ij0 = 248 - isrow ; ij1 = 248 - isrow 1159 1155 DO jk = 1, jpkm1 1160 1156 DO jj = mj0(ij0), mj1(ij1) … … 1177 1173 ! 1178 1174 ii0 = 44 ; ii1 = 44 ! Lombok Strait (e1v was modified) 1179 ij0 = 1 24 + isrow ; ij1 = 125 +isrow1175 ij0 = 164 - isrow ; ij1 = 165 - isrow 1180 1176 DO jk = 1, jpkm1 1181 1177 DO jj = mj0(ij0), mj1(ij1) … … 1193 1189 ! 1194 1190 ii0 = 48 ; ii1 = 48 ! Sumba Strait (e1v was modified) [closed from bathy_11 on] 1195 ij0 = 1 24 + isrow ; ij1 = 125 +isrow1191 ij0 = 164 - isrow ; ij1 = 165 - isrow 1196 1192 DO jk = 1, jpkm1 1197 1193 DO jj = mj0(ij0), mj1(ij1) … … 1209 1205 ! 1210 1206 ii0 = 53 ; ii1 = 53 ! Ombai Strait (e1v was modified) 1211 ij0 = 1 24 + isrow ; ij1 = 125 +isrow1207 ij0 = 164 - isrow ; ij1 = 165 - isrow 1212 1208 DO jk = 1, jpkm1 1213 1209 DO jj = mj0(ij0), mj1(ij1) … … 1224 1220 END DO 1225 1221 ! 1226 ii0 = 56 1227 ij0 = 1 24 + isrow ; ij1 = 125 +isrow1222 ii0 = 56 ; ii1 = 56 ! Timor Passage (e1v was modified) 1223 ij0 = 164 - isrow ; ij1 = 165 - isrow 1228 1224 DO jk = 1, jpkm1 1229 1225 DO jj = mj0(ij0), mj1(ij1) … … 1240 1236 END DO 1241 1237 ! 1242 ii0 = 55 1243 ij0 = 1 41 + isrow ; ij1 = 142 +isrow1238 ii0 = 55 ; ii1 = 55 ! West Halmahera Strait (e1v was modified) 1239 ij0 = 181 - isrow ; ij1 = 182 - isrow 1244 1240 DO jk = 1, jpkm1 1245 1241 DO jj = mj0(ij0), mj1(ij1) … … 1256 1252 END DO 1257 1253 ! 1258 ii0 = 58 1259 ij0 = 1 41 + isrow ; ij1 = 142 +isrow1254 ii0 = 58 ; ii1 = 58 ! East Halmahera Strait (e1v was modified) 1255 ij0 = 181 - isrow ; ij1 = 182 - isrow 1260 1256 DO jk = 1, jpkm1 1261 1257 DO jj = mj0(ij0), mj1(ij1) -
branches/UKMO/dev_r5021_nn_etau_revision/NEMOGCM/NEMO/OPA_SRC/DOM/domzgr.F90
r5446 r5532 484 484 CALL iom_close( inum ) 485 485 mbathy(:,:) = INT( bathy(:,:) ) 486 !487 ! CL : add Amazon deeper488 IF( cp_cfg == "orca" .AND. jp_cfg == 1 ) THEN ! ORCA R1 configuration489 ii0 = 230 ; ii1 = 245 ! Amazon area490 ij0 = 140 ; ij1 = 155 ! no ocean shallower than 30 meters491 DO ji = mi0(ii0), mi1(ii1)492 DO jj = mj0(ij0), mj1(ij1)493 IF( bathy(ji,jj) .LE. 30. .AND. bathy(ji,jj) .GT. 0.0 ) bathy(ji,jj) = 30._wp494 END DO495 END DO496 IF(lwp) WRITE(numout,*)497 IF(lwp) WRITE(numout,*) ' orca_r1: Amazon area not shallower than 30 meters for: '498 IF(lwp) WRITE(numout,*) ' Longitude index ',ii0, ii0499 IF(lwp) WRITE(numout,*) ' Latitude index ',ij0, ij0500 ENDIF501 486 ! ! ===================== 502 487 IF( cp_cfg == "orca" .AND. jp_cfg == 2 ) THEN ! ORCA R2 configuration -
branches/UKMO/dev_r5021_nn_etau_revision/NEMOGCM/NEMO/OPA_SRC/DYN/divcur.F90
r5446 r5532 237 237 ! 238 238 CALL wrk_dealloc( jpi , jpj+2, zwu ) 239 CALL wrk_dealloc( jpi+4, jpj , zwv, k jstart = -1 )239 CALL wrk_dealloc( jpi+4, jpj , zwv, kistart = -1 ) 240 240 ! 241 241 IF( nn_timing == 1 ) CALL timing_stop('div_cur') -
branches/UKMO/dev_r5021_nn_etau_revision/NEMOGCM/NEMO/OPA_SRC/DYN/dynnxt.F90
r5239 r5532 266 266 ! Add volume filter correction: compatibility with tracer advection scheme 267 267 ! => time filter + conservation correction (only at the first level) 268 fse3t_b(:,:,1) = fse3t_b(:,:,1) - atfp * rdt * r1_rau0 * ( emp_b(:,:) - emp(:,:) ) * tmask(:,:,1)269 !268 fse3t_b(:,:,1) = fse3t_b(:,:,1) - atfp * rdt * r1_rau0 * ( emp_b(:,:) - emp(:,:) & 269 & -rnf_b(:,:) + rnf(:,:) ) * tmask(:,:,1) 270 270 ENDIF 271 271 ! -
branches/UKMO/dev_r5021_nn_etau_revision/NEMOGCM/NEMO/OPA_SRC/DYN/sshwzv.F90
r5239 r5532 21 21 USE domvvl ! Variable volume 22 22 USE divcur ! hor. divergence and curl (div & cur routines) 23 USE iom ! I/O library24 23 USE restart ! only for lrst_oce 25 24 USE in_out_manager ! I/O manager … … 31 30 USE bdy_par 32 31 USE bdydyn2d ! bdy_ssh routine 33 USE iom34 32 #if defined key_agrif 35 33 USE agrif_opa_update … … 137 135 ! ! outputs ! 138 136 ! !------------------------------! 139 CALL iom_put( "ssh" , sshn ) ! sea surface height140 if( iom_use('ssh2') ) CALL iom_put( "ssh2", sshn(:,:) * sshn(:,:) ) ! square of sea surface height141 137 ! 142 138 IF(ln_ctl) CALL prt_ctl( tab2d_1=ssha, clinfo1=' ssha - : ', mask1=tmask, ovlap=1 ) … … 228 224 #endif 229 225 ! 230 ! !------------------------------!231 ! ! outputs !232 ! !------------------------------!233 CALL iom_put( "woce", wn ) ! vertical velocity234 IF( iom_use('w_masstr') .OR. iom_use('w_masstr2') ) THEN ! vertical mass transport & its square value235 CALL wrk_alloc( jpi, jpj, z2d )236 CALL wrk_alloc( jpi, jpj, jpk, z3d )237 ! Caution: in the VVL case, it only correponds to the baroclinic mass transport.238 z2d(:,:) = rau0 * e12t(:,:)239 DO jk = 1, jpk240 z3d(:,:,jk) = wn(:,:,jk) * z2d(:,:)241 END DO242 CALL iom_put( "w_masstr" , z3d )243 IF( iom_use('w_masstr2') ) CALL iom_put( "w_masstr2", z3d(:,:,:) * z3d(:,:,:) )244 CALL wrk_dealloc( jpi, jpj, z2d )245 CALL wrk_dealloc( jpi, jpj, jpk, z3d )246 ENDIF247 !248 226 IF( nn_timing == 1 ) CALL timing_stop('wzv') 249 227 … … 290 268 ELSE !** Leap-Frog time-stepping: Asselin filter + swap 291 269 sshb(:,:) = sshn(:,:) + atfp * ( sshb(:,:) - 2 * sshn(:,:) + ssha(:,:) ) ! before <-- now filtered 292 IF( lk_vvl ) sshb(:,:) = sshb(:,:) - atfp * rdt / rau0 * ( emp_b(:,:) - emp(:,:) ) * ssmask(:,:)270 IF( lk_vvl ) sshb(:,:) = sshb(:,:) - atfp * rdt / rau0 * ( emp_b(:,:) - emp(:,:) - rnf_b(:,:) + rnf(:,:) ) * ssmask(:,:) 293 271 sshn(:,:) = ssha(:,:) ! now <-- after 294 272 ENDIF -
branches/UKMO/dev_r5021_nn_etau_revision/NEMOGCM/NEMO/OPA_SRC/IOM/in_out_manager.F90
r5446 r5532 90 90 INTEGER :: nitrst !: time step at which restart file should be written 91 91 LOGICAL :: lrst_oce !: logical to control the oce restart write 92 INTEGER :: numror, numrow !: logical unit for cean restart (read and write) 92 INTEGER :: numror = 0 !: logical unit for ocean restart (read). Init to 0 is needed for SAS (in daymod.F90) 93 INTEGER :: numrow !: logical unit for ocean restart (write) 93 94 INTEGER :: nrst_lst !: number of restart to output next 94 95 -
branches/UKMO/dev_r5021_nn_etau_revision/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_clio.F90
r5446 r5532 663 663 664 664 ! --- evaporation minus precipitation --- ! 665 zsnw(:,:) = 0._wp 665 666 CALL lim_thd_snwblow( pfrld, zsnw ) ! snow redistribution by wind 666 667 emp_oce(:,:) = pfrld(:,:) * zevap(:,:) - ( tprecip(:,:) - sprecip(:,:) ) - sprecip(:,:) * ( 1._wp - zsnw ) -
branches/UKMO/dev_r5021_nn_etau_revision/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90
r5446 r5532 613 613 614 614 ! --- evaporation minus precipitation --- ! 615 zsnw(:,:) = 0._wp 615 616 CALL lim_thd_snwblow( pfrld, zsnw ) ! snow distribution over ice after wind blowing 616 617 emp_oce(:,:) = pfrld(:,:) * zevap(:,:) - ( tprecip(:,:) - sprecip(:,:) ) - sprecip(:,:) * (1._wp - zsnw ) -
branches/UKMO/dev_r5021_nn_etau_revision/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90
r5446 r5532 780 780 xcplmask(:,:,0) = 1. - SUM( xcplmask(:,:,1:nn_cplmodel), dim = 3 ) 781 781 ! 782 ncpl_qsr_freq = cpl_freq( 'O_QsrOce' ) + cpl_freq( 'O_QsrMix' ) + cpl_freq( ' S_QsrOce' ) + cpl_freq( 'S_QsrMix' )782 ncpl_qsr_freq = cpl_freq( 'O_QsrOce' ) + cpl_freq( 'O_QsrMix' ) + cpl_freq( 'I_QsrOce' ) + cpl_freq( 'I_QsrMix' ) 783 783 IF( ln_dm2dc .AND. ln_cpl .AND. ncpl_qsr_freq /= 86400 ) & 784 784 & CALL ctl_stop( 'sbc_cpl_init: diurnal cycle reconstruction (ln_dm2dc) needs daily couping for solar radiation' ) … … 1379 1379 REAL(wp), POINTER, DIMENSION(:,: ) :: zemp_tot, zemp_ice, zsprecip, ztprecip, zqns_tot, zqsr_tot 1380 1380 REAL(wp), POINTER, DIMENSION(:,:,:) :: zqns_ice, zqsr_ice, zdqns_ice 1381 REAL(wp), POINTER, DIMENSION(:,: ) :: zevap, zsnw, zqns_oce, zq prec_ice, zqemp_oce ! for LIM31381 REAL(wp), POINTER, DIMENSION(:,: ) :: zevap, zsnw, zqns_oce, zqsr_oce, zqprec_ice, zqemp_oce ! for LIM3 1382 1382 !!---------------------------------------------------------------------- 1383 1383 ! … … 1524 1524 1525 1525 ! --- heat flux associated with emp --- ! 1526 zsnw(:,:) = 0._wp 1526 1527 CALL lim_thd_snwblow( p_frld, zsnw ) ! snow distribution over ice after wind blowing 1527 1528 zqemp_oce(:,:) = - zevap(:,:) * p_frld(:,:) * zcptn(:,:) & ! evap … … 1556 1557 1557 1558 CALL wrk_dealloc( jpi,jpj, zevap, zsnw, zqns_oce, zqprec_ice, zqemp_oce ) 1558 1559 1559 #else 1560 1560 … … 1624 1624 ENDDO 1625 1625 ENDIF 1626 1627 #if defined key_lim3 1628 CALL wrk_alloc( jpi,jpj, zqsr_oce ) 1629 ! --- solar flux over ocean --- ! 1630 ! note: p_frld cannot be = 0 since we limit the ice concentration to amax 1631 zqsr_oce = 0._wp 1632 WHERE( p_frld /= 0._wp ) zqsr_oce(:,:) = ( zqsr_tot(:,:) - SUM( a_i * zqsr_ice, dim=3 ) ) / p_frld(:,:) 1633 1634 IF( ln_mixcpl ) THEN ; qsr_oce(:,:) = qsr_oce(:,:) * xcplmask(:,:,0) + zqsr_oce(:,:)* zmsk(:,:) 1635 ELSE ; qsr_oce(:,:) = zqsr_oce(:,:) ; ENDIF 1636 1637 CALL wrk_dealloc( jpi,jpj, zqsr_oce ) 1638 #endif 1626 1639 1627 1640 IF( ln_mixcpl ) THEN -
branches/UKMO/dev_r5021_nn_etau_revision/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_cice.F90
r5448 r5532 509 509 CALL nemo2cice(ztmp,ss_tlty,'F', -1. ) 510 510 511 CALL wrk_dealloc( jpi,jpj, ztmp )511 CALL wrk_dealloc( jpi,jpj, ztmp, zpice ) 512 512 CALL wrk_dealloc( jpi,jpj,ncat, ztmpn ) 513 513 ! -
branches/UKMO/dev_r5021_nn_etau_revision/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_lim.F90
r5446 r5532 216 216 zalb_ice(:,:,:) = ( 1. - cldf_ice ) * zalb_cs(:,:,:) + cldf_ice * zalb_os(:,:,:) 217 217 CALL sbc_cpl_ice_flx( p_frld=pfrld, palbi=zalb_ice, psst=sst_m, pist=t_su ) 218 ! clem: evap_ice is forced to 0 in coupled mode for now 219 ! but it needs to be changed (along with modif in limthd_dh) once heat flux from evap will be avail. from atm. models 220 evap_ice (:,:,:) = 0._wp ; devap_ice (:,:,:) = 0._wp 218 221 IF( nn_limflx == 2 ) CALL ice_lim_flx( t_su, zalb_ice, qns_ice, qsr_ice, dqns_ice, evap_ice, devap_ice, nn_limflx ) 219 ! Latent heat flux is forced to 0 in coupled: it is included in qns (non-solar heat flux)220 evap_ice (:,:,:) = 0._wp221 devap_ice (:,:,:) = 0._wp222 222 END SELECT 223 223 CALL wrk_dealloc( jpi,jpj,jpl, zalb_os, zalb_cs, zalb_ice ) -
branches/UKMO/dev_r5021_nn_etau_revision/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90
r5446 r5532 53 53 USE timing ! Timing 54 54 USE sbcwave ! Wave module 55 USE bdy_par ! Require lk_bdy 55 56 56 57 IMPLICIT NONE … … 343 344 ! ! ---------------------------------------- ! 344 345 ! 345 IF( ln_apr_dyn ) CALL sbc_apr( kt ) ! atmospheric pressure provided at kt+0.5*nn_fsbc 346 IF ( .NOT. lk_bdy ) then 347 IF( ln_apr_dyn ) CALL sbc_apr( kt ) ! atmospheric pressure provided at kt+0.5*nn_fsbc 348 ENDIF 346 349 ! (caution called before sbc_ssm) 347 350 ! -
branches/UKMO/dev_r5021_nn_etau_revision/NEMOGCM/NEMO/OPA_SRC/SBC/sbcrnf.F90
r5446 r5532 209 209 zfact = 0.5_wp 210 210 ! 211 IF( ln_rnf_depth ) THEN !== runoff distributed over several levels ==!211 IF( ln_rnf_depth .OR. ln_rnf_depth_ini ) THEN !== runoff distributed over several levels ==! 212 212 IF( lk_vvl ) THEN ! variable volume case 213 213 DO jj = 1, jpj ! update the depth over which runoffs are distributed -
branches/UKMO/dev_r5021_nn_etau_revision/NEMOGCM/NEMO/OPA_SRC/STO/stopar.F90
r5448 r5532 112 112 INTEGER :: nn_trc_ord = 1 ! order of autoregressive processes 113 113 114 ! Public array with density correction115 REAL(wp), PUBLIC, DIMENSION(:,:,:), ALLOCATABLE :: drho_ran116 117 114 !!---------------------------------------------------------------------- 118 115 !! NEMO/OPA 3.3 , NEMO Consortium (2010) … … 263 260 INTEGER :: ios ! Local integer output status for namelist read 264 261 265 IF ( lk_agrif ) CALL ctl_stop('EOS stochastic parametrization is not compatible with AGRIF')266 262 ! Read namsto namelist : stochastic parameterization 267 263 REWIND( numnam_ref ) ! Namelist namdyn_adv in reference namelist : Momentum advection scheme … … 341 337 ENDIF 342 338 IF( ln_sto_eos ) THEN 339 IF ( lk_agrif ) CALL ctl_stop('EOS stochastic parametrization is not compatible with AGRIF') 343 340 IF(lwp) WRITE(numout,*) ' - stochastic equation of state' 344 341 ALLOCATE(jsto_eosi(nn_sto_eos)) … … 668 665 ! ------------------------------------------ 669 666 IF( ln_rststo ) CALL sto_rst_read 670 671 ! Allocate drho_ran672 ALLOCATE(drho_ran(jpi,jpj,jpk))673 667 674 668 END SUBROUTINE sto_par_init … … 781 775 CALL iom_rstput( kt, nitrst, numstow, clsto3d , sto3d(:,:,:,jsto) ) 782 776 END DO 783 ! Save drho_ran in restart file784 CALL iom_rstput( kt, nitrst, numstow, 'drho' , drho_ran(:,:,:) )785 777 ! close the restart file 786 778 CALL iom_close( numstow ) -
branches/UKMO/dev_r5021_nn_etau_revision/NEMOGCM/NEMO/OPA_SRC/TRA/tranxt.F90
r5446 r5532 27 27 USE dom_oce ! ocean space and time domain variables 28 28 USE sbc_oce ! surface boundary condition: ocean 29 USE sbcrnf ! river runoffs 29 30 USE zdf_oce ! ocean vertical mixing 30 31 USE domvvl ! variable volume … … 278 279 279 280 !! 280 LOGICAL :: ll_tra_hpg, ll_traqsr ! local logical281 LOGICAL :: ll_tra_hpg, ll_traqsr, ll_rnf ! local logical 281 282 INTEGER :: ji, jj, jk, jn ! dummy loop indices 282 283 REAL(wp) :: zfact1, ztc_a , ztc_n , ztc_b , ztc_f , ztc_d ! local scalar … … 293 294 ll_tra_hpg = ln_dynhpg_imp ! active tracers case and semi-implicit hpg 294 295 ll_traqsr = ln_traqsr ! active tracers case and solar penetration 296 ll_rnf = ln_rnf ! active tracers case and river runoffs 295 297 ELSE 296 298 ll_tra_hpg = .FALSE. ! passive tracers case or NO semi-implicit hpg 297 299 ll_traqsr = .FALSE. ! active tracers case and NO solar penetration 300 ll_rnf = .FALSE. ! passive tracers or NO river runoffs 298 301 ENDIF 299 302 ! … … 319 322 ! 320 323 IF( jk == 1 ) THEN ! first level 321 ze3t_f = ze3t_f - zfact2 * ( emp_b(ji,jj) - emp(ji,jj) )324 ze3t_f = ze3t_f - zfact2 * ( emp_b(ji,jj) - emp(ji,jj) + rnf(ji,jj) - rnf_b(ji,jj) ) 322 325 ztc_f = ztc_f - zfact1 * ( psbc_tc(ji,jj,jn) - psbc_tc_b(ji,jj,jn) ) 323 326 ENDIF 327 324 328 IF( ll_traqsr .AND. jn == jp_tem .AND. jk <= nksr ) & ! solar penetration (temperature only) 325 329 & ztc_f = ztc_f - zfact1 * ( qsr_hc(ji,jj,jk) - qsr_hc_b(ji,jj,jk) ) 326 330 327 ze3t_f = 1.e0 / ze3t_f 328 ptb(ji,jj,jk,jn) = ztc_f * ze3t_f ! ptb <-- ptn filtered 329 ptn(ji,jj,jk,jn) = pta(ji,jj,jk,jn) ! ptn <-- pta 330 ! 331 IF( ll_tra_hpg ) THEN ! semi-implicit hpg (T & S only) 332 ze3t_d = 1.e0 / ( ze3t_n + rbcp * ze3t_d ) 333 pta(ji,jj,jk,jn) = ze3t_d * ( ztc_n + rbcp * ztc_d ) ! ta <-- Brown & Campana average 334 ENDIF 331 IF( ll_rnf .AND. jk <= nk_rnf(ji,jj) ) & ! river runoffs 332 & ztc_f = ztc_f - zfact1 * ( rnf_tsc(ji,jj,jn) - rnf_tsc_b(ji,jj,jn) ) & 333 & * fse3t_n(ji,jj,jk) / h_rnf(ji,jj) 334 335 ze3t_f = 1.e0 / ze3t_f 336 ptb(ji,jj,jk,jn) = ztc_f * ze3t_f ! ptb <-- ptn filtered 337 ptn(ji,jj,jk,jn) = pta(ji,jj,jk,jn) ! ptn <-- pta 338 ! 339 IF( ll_tra_hpg ) THEN ! semi-implicit hpg (T & S only) 340 ze3t_d = 1.e0 / ( ze3t_n + rbcp * ze3t_d ) 341 pta(ji,jj,jk,jn) = ze3t_d * ( ztc_n + rbcp * ztc_d ) ! ta <-- Brown & Campana average 342 ENDIF 335 343 END DO 336 344 END DO -
branches/UKMO/dev_r5021_nn_etau_revision/NEMOGCM/NEMO/OPA_SRC/step.F90
r5446 r5532 101 101 !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 102 102 IF( lk_tide ) CALL sbc_tide( kstp ) 103 IF( lk_bdy ) CALL bdy_dta ( kstp, time_offset=+1 ) ! update dynamic & tracer data at open boundaries 104 103 IF( lk_bdy ) THEN 104 IF( ln_apr_dyn) CALL sbc_apr( kstp ) ! bdy_dta needs ssh_ib 105 CALL bdy_dta ( kstp, time_offset=+1 ) ! update dynamic & tracer data at open boundaries 106 ENDIF 105 107 CALL sbc ( kstp ) ! Sea Boundary Condition (including sea-ice) 106 108 ! clem: moved here for bdy ice purpose 107 108 109 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 109 110 ! Update stochastic parameters and random T/S fluctuations -
branches/UKMO/dev_r5021_nn_etau_revision/NEMOGCM/NEMO/OPA_SRC/step_oce.F90
r5446 r5532 27 27 USE sbc_oce ! surface boundary condition: ocean 28 28 USE sbctide ! Tide initialisation 29 USE sbcapr ! surface boundary condition: ssh_ib required by bdydta 29 30 30 31 USE traqsr ! solar radiation penetration (tra_qsr routine) -
branches/UKMO/dev_r5021_nn_etau_revision/NEMOGCM/NEMO/OPA_SRC/wrk_nemo.F90
r5448 r5532 121 121 122 122 LOGICAL :: linit = .FALSE. 123 LOGICAL :: ldebug = .FALSE. 123 124 !!---------------------------------------------------------------------- 124 125 !! NEMO/OPA 4.0 , NEMO Consortium (2011) … … 486 487 487 488 IF( SUM( tree(ii)%ishape ) == 0 ) THEN ! create a new branch 489 IF(ldebug) PRINT *, 'create new branch ', ii,ishape, isrt, itype 488 490 tree(ii)%itype = itype ! define the type of this branch 489 491 tree(ii)%ishape(:) = ishape(:) ! define the shape of this branch … … 515 517 tree(ii)%current%next%in_use = .FALSE. ! this leaf is not yet used 516 518 tree(ii)%current%next%indic = tree(ii)%current%indic + 1 ! number of this leaf 519 IF(ldebug) PRINT *, 'add a leaf ', ii, tree(ii)%current%indic 517 520 tree(ii)%current%next%prev => tree(ii)%current ! previous leaf of the new leaf is the current leaf 518 521 tree(ii)%current%next%next => NULL() ! next leaf is not yet defined
Note: See TracChangeset
for help on using the changeset viewer.