Changeset 117 for trunk/NEMO/OPA_SRC/LDF
- Timestamp:
- 2004-06-29T13:13:36+02:00 (20 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/LDF/ldftra_c2d.h90
r113 r117 51 51 ENDIF 52 52 53 zdx_max = MAXVAL( e1t(:,:) ) 54 IF( lk_mpp ) CALL mpp_max( zdx_max ) ! max over the global domain 53 ! harmonic operator : (U-, V-, W-points) 54 ! ================== 55 IF( ln_traldf_lap ) THEN 56 57 ahtu(:,:) = aht0 ! set ahtu = ahtv at u- and v-points, 58 ahtv(:,:) = aht0 ! and ahtw at w-point (idem T-point) 59 ahtw(:,:) = aht0 ! 60 61 CALL lbc_lnk( ahtu, 'U', 1. ) ! Lateral boundary conditions 62 CALL lbc_lnk( ahtv, 'V', 1. ) ! (no change of sign) 63 CALL lbc_lnk( ahtw, 'W', 1. ) 64 65 ! Control print 66 IF( lwp .AND. ld_print ) THEN 67 WRITE(numout,*) 68 WRITE(numout,*) 'inildf: ahtu array' 69 CALL prihre( ahtu, jpi, jpj, 1, jpi, 1, & 70 & 1, jpj, 1, 1.e-3, numout ) 71 WRITE(numout,*) 72 WRITE(numout,*) 'inildf: ahtv array' 73 CALL prihre( ahtv, jpi, jpj, 1, jpi, 1, & 74 & 1, jpj, 1, 1.e-3, numout ) 75 WRITE(numout,*) 76 WRITE(numout,*) 'inildf: ahtw array' 77 CALL prihre( ahtw, jpi, jpj, 1, jpi, 1, & 78 & 1, jpj, 1, 1.e-3, numout ) 79 ENDIF 80 ENDIF 55 81 56 82 ! biharmonic operator : (T-point) 57 83 ! ==================== 58 ! Here: ahtt is proportional to the cube of the maximum of the gridspacing59 ! in the to horizontal direction60 61 za00 = aht0 / ( zdx_max * zdx_max * zdx_max )84 IF( ln_traldf_bilap ) THEN 85 ! (USER: modify ahtt following your desiderata) 86 ! Here: ahm is proportional to the cube of the maximum of the gridspacing 87 ! in the to horizontal direction 62 88 63 ahtt(:,:) = za00 * e1t(:,:) * e1t(:,:) *e1t(:,:) ! set ahtt at T-point 89 zdx_max = MAXVAL( e1t(:,:) ) 90 IF( lk_mpp ) CALL mpp_max( zdx_max ) ! max over the global domain 64 91 65 CALL lbc_lnk( ahtt, 'T', 1. ) ! Lateral boundary conditions on ( ahtt ) 92 za00 = aht0 / ( zdx_max * zdx_max * zdx_max ) 93 ahtt(:,:) = za00 * e1t(:,:) * e1t(:,:) *e1t(:,:) ! set ahtt at T-point 66 94 67 ! Control print 68 IF( lwp .AND. ld_print ) THEN 69 WRITE(numout,*) 70 WRITE(numout,*) 'inildf: 2D ahtt array' 71 CALL prihre( ahtt, jpi, jpj, 1, jpi, 1, & 72 & 1, jpj, 1, 1.e-3, numout ) 73 ENDIF 95 CALL lbc_lnk( ahtt, 'T', 1. ) ! Lateral boundary conditions on ( ahtt ) 74 96 75 76 ! harmonic operator : (U-, V-, W-points) 77 ! ================== 78 79 za00 = aht0 / zdx_max 80 81 ahtu(:,:) = za00 * e1u(:,:) ! set ahtu = ahtv at u- and v-points, 82 ahtv(:,:) = za00 * e1f(:,:) ! and ahtw at w-point (idem T-point) 83 ahtw(:,:) = za00 * e1t(:,:) ! 84 85 CALL lbc_lnk( ahtu, 'U', 1. ) ! Lateral boundary conditions 86 CALL lbc_lnk( ahtv, 'V', 1. ) ! (no change of sign) 87 CALL lbc_lnk( ahtw, 'W', 1. ) 88 89 ! Control print 90 IF( lwp .AND. ld_print ) THEN 91 WRITE(numout,*) 92 WRITE(numout,*) 'inildf: ahtu array' 93 CALL prihre( ahtu, jpi, jpj, 1, jpi, 1, & 94 & 1, jpj, 1, 1.e-3, numout ) 95 WRITE(numout,*) 96 WRITE(numout,*) 'inildf: ahtv array' 97 CALL prihre( ahtv, jpi, jpj, 1, jpi, 1, & 98 & 1, jpj, 1, 1.e-3, numout ) 99 WRITE(numout,*) 100 WRITE(numout,*) 'inildf: ahtw array' 101 CALL prihre( ahtw, jpi, jpj, 1, jpi, 1, & 102 & 1, jpj, 1, 1.e-3, numout ) 97 ! Control print 98 IF( lwp .AND. ld_print ) THEN 99 WRITE(numout,*) 100 WRITE(numout,*) 'inildf: 2D ahtt array' 101 CALL prihre( ahtt, jpi, jpj, 1, jpi, 1, & 102 & 1, jpj, 1, 1.e-3, numout ) 103 ENDIF 103 104 ENDIF 104 105
Note: See TracChangeset
for help on using the changeset viewer.