Changeset 661 for trunk/NEMO/OPA_SRC
- Timestamp:
- 2007-05-25T17:51:50+02:00 (17 years ago)
- Location:
- trunk/NEMO/OPA_SRC
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/DOM/domvvl.F90
r642 r661 32 32 PUBLIC dom_vvl_ssh ! called by trazdf.F90 33 33 PUBLIC dom_vvl ! called by istate.F90 and step.F90 34 PUBLIC sfe3ini!35 PUBLIC sfe3!34 PUBLIC dom_vvl_sf_ini ! 35 PUBLIC dom_vvl_sf ! 36 36 37 37 !! * Module variables … … 301 301 END SUBROUTINE dom_vvl_ssh 302 302 303 FUNCTION sfe3( zssh, gridp)304 !!---------------------------------------------------------------------- 305 !! *** ROUTINE sfe3***303 SUBROUTINE dom_vvl_sf( zssh, gridp, sfe3 ) 304 !!---------------------------------------------------------------------- 305 !! *** ROUTINE dom_vvl_sf *** 306 306 !! 307 307 !! ** Purpose : compute vertical scale factor at each time step … … 310 310 CHARACTER(LEN=1) , INTENT( in ) :: gridp ! grid point type 311 311 REAL(wp), DIMENSION(jpi,jpj) , INTENT( in ) :: zssh ! 2D workspace 312 REAL(wp), DIMENSION(jpi,jpj,jpk) 312 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT( out) :: sfe3 ! 3D workspace 313 313 314 314 !! * Local declarations … … 338 338 END SELECT 339 339 340 END FUNCTION sfe3341 342 FUNCTION sfe3ini( gridp)343 !!---------------------------------------------------------------------- 344 !! *** ROUTINE sfe3***340 END SUBROUTINE dom_vvl_sf 341 342 SUBROUTINE dom_vvl_sf_ini( gridp, sfe3ini ) 343 !!---------------------------------------------------------------------- 344 !! *** ROUTINE dom_vvl_sf_ini *** 345 345 !! 346 346 !! ** Purpose : affect the appropriate vertical scale factor. It is done … … 349 349 !! * Arguments 350 350 CHARACTER(LEN=1) , INTENT( in ) :: gridp ! grid point type 351 REAL(wp), DIMENSION(jpi,jpj,jpk) 351 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT (out) :: sfe3ini ! 3D workspace 352 352 !!---------------------------------------------------------------------- 353 353 … … 368 368 END SELECT 369 369 370 END FUNCTION sfe3ini370 END SUBROUTINE dom_vvl_sf_ini 371 371 #else 372 372 !!---------------------------------------------------------------------- … … 382 382 WRITE(*,*) 'dom_vvl_ssh: You should not have seen this print! error?', kt 383 383 END SUBROUTINE dom_vvl_ssh 384 FUNCTION sfe3( zssh, gridp)384 SUBROUTINE dom_vvl_sf( zssh, gridp, sfe3 ) 385 385 !! * Arguments 386 386 CHARACTER(LEN=1) , INTENT( in ) :: gridp ! grid point type 387 387 REAL(wp), DIMENSION(jpi,jpj) , INTENT( in ) :: zssh ! 2D workspace 388 REAL(wp), DIMENSION(jpi,jpj,jpk) 388 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT (out) :: sfe3 ! 3D workspace 389 389 sfe3(:,:,:) = 0.e0 390 390 WRITE(*,*) 'sfe3: You should not have seen this print! error?', gridp 391 391 WRITE(*,*) 'sfe3: You should not have seen this print! error?', zssh(1,1) 392 END FUNCTION sfe3393 FUNCTION sfe3ini( gridp)392 END SUBROUTINE dom_vvl_sf 393 SUBROUTINE dom_vvl_sf_ini( gridp, sfe3ini ) 394 394 !! * Arguments 395 395 CHARACTER(LEN=1) , INTENT( in ) :: gridp ! grid point type 396 REAL(wp), DIMENSION(jpi,jpj,jpk) 396 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT (out) :: sfe3ini ! 3D workspace 397 397 sfe3ini(:,:,:) = 0.e0 398 398 WRITE(*,*) 'sfe3ini: You should not have seen this print! error?', gridp 399 END FUNCTION sfe3ini399 END SUBROUTINE dom_vvl_sf_ini 400 400 #endif 401 401 -
trunk/NEMO/OPA_SRC/DYN/dynnxt.F90
r642 r661 135 135 ! Scale factors at before and after time step 136 136 ! ------------------------------------------- 137 zfse3ub(:,:,:) = sfe3( zsshub, 'U' ) ; zfse3ua(:,:,:) = sfe3( zsshua, 'U' )138 zfse3vb(:,:,:) = sfe3( zsshvb, 'V' ) ; zfse3va(:,:,:) = sfe3( zsshva, 'V' )137 CALL dom_vvl_sf( zsshub, 'U', zfse3ub ) ; CALL dom_vvl_sf( zsshua, 'U', zfse3ua ) 138 CALL dom_vvl_sf( zsshvb, 'V', zfse3vb ) ; CALL dom_vvl_sf( zsshva, 'V', zfse3va ) 139 139 140 140 ! Asselin filtered scale factor at now time step 141 141 ! ---------------------------------------------- 142 142 IF( (neuler == 0 .AND. kt == nit000) .OR. lk_dynspg_ts ) THEN 143 zfse3un(:,:,:) = sfe3ini( 'U' ) 144 zfse3vn(:,:,:) = sfe3ini( 'V' ) 143 CALL dom_vvl_sf_ini( 'U', zfse3un ) ; CALL dom_vvl_sf_ini( 'V', zfse3vn ) 145 144 ELSE 146 145 zsshun(:,:) = atfp * ( zsshub(:,:) + zsshua(:,:) ) + atfp1 * sshu(:,:) 147 146 zsshvn(:,:) = atfp * ( zsshvb(:,:) + zsshva(:,:) ) + atfp1 * sshv(:,:) 148 zfse3un(:,:,:) = sfe3( zsshun, 'U' ) ; zfse3vn(:,:,:) = sfe3( zsshvn, 'V' )147 CALL dom_vvl_sf( zsshun, 'U', zfse3un ) ; CALL dom_vvl_sf( zsshvn, 'V', zfse3vn ) 149 148 ENDIF 150 149 -
trunk/NEMO/OPA_SRC/DYN/dynspg_flt.F90
r657 r661 187 187 ! Scale factors at before and after time step 188 188 ! ------------------------------------------- 189 zfse3ua(:,:,:) = sfe3( zsshua, 'U' ) ; zfse3ub(:,:,:) = sfe3( zsshub, 'U' ) 190 zfse3va(:,:,:) = sfe3( zsshva, 'V' ) ; zfse3vb(:,:,:) = sfe3( zsshvb, 'V' ) 189 CALL dom_vvl_sf( zsshub, 'U', zfse3ub ) ; CALL dom_vvl_sf( zsshua, 'U', zfse3ua ) 190 CALL dom_vvl_sf( zsshvb, 'V', zfse3vb ) ; CALL dom_vvl_sf( zsshva, 'V', zfse3va ) 191 191 192 192 193 ! Thickness weighting -
trunk/NEMO/OPA_SRC/DYN/dynspg_ts.F90
r657 r661 511 511 ! Scale factors at before and after time step 512 512 ! ------------------------------------------- 513 zfse3un_e(:,:,:) = sfe3( zsshun_e, 'U' ) ; zfse3vn_e(:,:,:) = sfe3( zsshvn_e, 'V')513 CALL dom_vvl_sf( zsshun_e, 'U', zfse3un_e ) ; CALL dom_vvl_sf( zsshvn_e, 'V', zfse3vn_e ) 514 514 515 515 ! Ocean depth at U- and V-points -
trunk/NEMO/OPA_SRC/TRA/tranxt.F90
r642 r661 100 100 ! Scale factors at before and after time step 101 101 ! ------------------------------------------- 102 zfse3tb(:,:,:) = sfe3( sshb, 'T' ) ; zfse3ta(:,:,:) = sfe3( ssha, 'T')102 CALL dom_vvl_sf( sshb, 'T', zfse3tb ) ; CALL dom_vvl_sf( ssha, 'T', zfse3ta ) 103 103 104 104 ! Asselin filtered scale factor at now time step 105 105 ! ---------------------------------------------- 106 106 IF( (neuler == 0 .AND. kt == nit000) .OR. lk_dynspg_ts ) THEN 107 zfse3tn(:,:,:) = sfe3ini( 'T' )107 CALL dom_vvl_sf_ini( 'T', zfse3tn ) 108 108 ELSE 109 109 zssh(:,:) = atfp * ( sshb(:,:) + ssha(:,:) ) + atfp1 * sshn(:,:) 110 zfse3tn(:,:,:) = sfe3( zssh, 'T' )110 CALL dom_vvl_sf( zssh, 'T', zfse3tn ) 111 111 ENDIF 112 112
Note: See TracChangeset
for help on using the changeset viewer.