Changeset 5086 for LMDZ6/branches/Amaury_dev/libf/dyn3d/advect.F
- Timestamp:
- Jul 19, 2024, 7:54:50 PM (4 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Amaury_dev/libf/dyn3d/advect.F
r2622 r5086 57 57 deuxjour = 2. * daysec 58 58 59 DO 1ij = 1, ip1jmp159 DO ij = 1, ip1jmp1 60 60 unsaire2(ij) = unsaire(ij) * unsaire(ij) 61 1 CONTINUE61 END DO 62 62 END IF 63 63 … … 100 100 101 101 c 102 DO 20l = 1, llmm1102 DO l = 1, llmm1 103 103 104 104 105 105 c ...... calcul de - w/2. au niveau l+1 ....... 106 106 107 DO 5ij = 1, ip1jmp1107 DO ij = 1, ip1jmp1 108 108 wsur2( ij ) = - 0.5 * w( ij,l+1 ) 109 5 CONTINUE109 END DO 110 110 111 111 112 112 c ..................... calcul pour du .................. 113 113 114 DO 6ij = iip2 ,ip1jm-1114 DO ij = iip2 ,ip1jm-1 115 115 ww = wsur2 ( ij ) + wsur2( ij+1 ) 116 116 uu = 0.5 * ( ucov(ij,l) + ucov(ij,l+1) ) 117 117 du(ij,l) = du(ij,l) - ww * ( uu - uav(ij, l ) )/massebx(ij, l ) 118 118 du(ij,l+1)= du(ij,l+1) + ww * ( uu - uav(ij,l+1) )/massebx(ij,l+1) 119 6 CONTINUE119 END DO 120 120 121 121 c ..... correction pour du(iip1,j,l) ........ … … 123 123 124 124 CDIR$ IVDEP 125 DO 7ij = iip1 +iip1, ip1jm, iip1125 DO ij = iip1 +iip1, ip1jm, iip1 126 126 du( ij, l ) = du( ij -iim, l ) 127 127 du( ij,l+1 ) = du( ij -iim,l+1 ) 128 7 CONTINUE128 END DO 129 129 130 130 c ................. calcul pour dv ..................... 131 131 132 DO 8ij = 1, ip1jm132 DO ij = 1, ip1jm 133 133 ww = wsur2( ij+iip1 ) + wsur2( ij ) 134 134 vv = 0.5 * ( vcov(ij,l) + vcov(ij,l+1) ) 135 135 dv(ij,l) = dv(ij, l ) - ww * (vv - vav(ij, l ) )/masseby(ij, l ) 136 136 dv(ij,l+1)= dv(ij,l+1) + ww * (vv - vav(ij,l+1) )/masseby(ij,l+1) 137 8 CONTINUE137 END DO 138 138 139 139 c … … 147 147 c ............... 148 148 149 DO 15ij = 1, ip1jmp1149 DO ij = 1, ip1jmp1 150 150 ww = wsur2(ij) * (teta(ij,l) + teta(ij,l+1) ) 151 151 dteta(ij, l ) = dteta(ij, l ) - ww 152 152 dteta(ij,l+1) = dteta(ij,l+1) + ww 153 15 CONTINUE153 END DO 154 154 155 155 IF( conser) THEN 156 DO 17ij = 1,ip1jmp1156 DO ij = 1,ip1jmp1 157 157 ge(ij) = wsur2(ij) * wsur2(ij) * unsaire2(ij) 158 17 CONTINUE158 END DO 159 159 gt = SSUM( ip1jmp1,ge,1 ) 160 160 gtot(l) = deuxjour * SQRT( gt/ip1jmp1 ) 161 161 END IF 162 162 163 20 CONTINUE163 END DO 164 164 165 165 RETURN
Note: See TracChangeset
for help on using the changeset viewer.