- Timestamp:
- 2017-09-06T17:47:28+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/iceadv_prather.F90
r8486 r8504 12 12 !! 'key_lim3' LIM3 sea-ice model 13 13 !!---------------------------------------------------------------------- 14 !! ice_adv_x : advection of sea ice on x axis 15 !! ice_adv_y : advection of sea ice on y axis 14 !! ice_adv_prather : advection of sea ice using Prather scheme 16 15 !!---------------------------------------------------------------------- 17 16 USE dom_oce ! ocean domain 18 17 USE ice ! sea-ice variables 18 USE sbc_oce , ONLY : nn_fsbc ! frequency of sea-ice call 19 19 ! 20 20 USE lbclnk ! lateral boundary condition - MPP exchanges … … 27 27 PRIVATE 28 28 29 PUBLIC ice_adv_x ! called by iceadv 30 PUBLIC ice_adv_y ! called by iceadv 29 PUBLIC ice_adv_prather ! called by iceadv 31 30 32 31 !! * Substitutions … … 39 38 CONTAINS 40 39 41 SUBROUTINE ice_adv_ x( pdf, put , pcrh, psm , ps0 ,&42 & psx, psxx, psy , psyy, psxy)40 SUBROUTINE ice_adv_prather( kt, pu_ice, pv_ice, & 41 & pato_i, pv_i, pv_s, psmv_i, poa_i, pa_i, pa_ip, pv_ip, pe_s, pe_i ) 43 42 !!---------------------------------------------------------------------- 44 !! ** routine ice_adv_ x**43 !! ** routine ice_adv_prather ** 45 44 !! 46 45 !! ** purpose : Computes and adds the advection trend to sea-ice 47 !! variable on i-axis48 46 !! 49 47 !! ** method : Uses Prather second order scheme that advects tracers 50 !! but also theirquadratic forms. The method preserves51 !! tracer structures by conserving second order moments.48 !! but also their quadratic forms. The method preserves 49 !! tracer structures by conserving second order moments. 52 50 !! 53 51 !! Reference: Prather, 1986, JGR, 91, D6. 6671-6681. 54 52 !!---------------------------------------------------------------------- 53 INTEGER , INTENT(in ) :: kt ! time step 54 REAL(wp), DIMENSION(:,:) , INTENT(in ) :: pu_ice ! ice i-velocity 55 REAL(wp), DIMENSION(:,:) , INTENT(in ) :: pv_ice ! ice j-velocity 56 REAL(wp), DIMENSION(:,:) , INTENT(inout) :: pato_i ! open water area 57 REAL(wp), DIMENSION(:,:,:) , INTENT(inout) :: pv_i ! ice volume 58 REAL(wp), DIMENSION(:,:,:) , INTENT(inout) :: pv_s ! snw volume 59 REAL(wp), DIMENSION(:,:,:) , INTENT(inout) :: psmv_i ! salt content 60 REAL(wp), DIMENSION(:,:,:) , INTENT(inout) :: poa_i ! age content 61 REAL(wp), DIMENSION(:,:,:) , INTENT(inout) :: pa_i ! ice concentration 62 REAL(wp), DIMENSION(:,:,:) , INTENT(inout) :: pa_ip ! melt pond fraction 63 REAL(wp), DIMENSION(:,:,:) , INTENT(inout) :: pv_ip ! melt pond volume 64 REAL(wp), DIMENSION(:,:,:,:), INTENT(inout) :: pe_s ! snw heat content 65 REAL(wp), DIMENSION(:,:,:,:), INTENT(inout) :: pe_i ! ice heat content 66 ! 67 INTEGER :: jk, jl, jt ! dummy loop indices 68 INTEGER :: initad ! number of sub-timestep for the advection 69 REAL(wp) :: zcfl , zusnit ! - - 70 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: zarea 71 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: z0opw 72 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: z0ice, z0snw, z0ai, z0es , z0smi , z0oi 73 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: z0ap , z0vp 74 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:,:) :: z0ei 75 !!---------------------------------------------------------------------- 76 ! 77 IF( kt == nit000 .AND. lwp ) THEN 78 WRITE(numout,*) 79 WRITE(numout,*) 'ice_adv_prather: Prather advection scheme' 80 WRITE(numout,*) '~~~~~~~~~~~~~~~' 81 ENDIF 82 ! 83 ALLOCATE( zarea(jpi,jpj) , z0opw(jpi,jpj, 1 ) , & 84 & z0ice(jpi,jpj,jpl) , z0snw(jpi,jpj,jpl) , z0ai(jpi,jpj,jpl) , z0es(jpi,jpj,jpl) , & 85 & z0smi(jpi,jpj,jpl) , z0oi (jpi,jpj,jpl) , z0ap(jpi,jpj,jpl) , z0vp(jpi,jpj,jpl) , & 86 & z0ei (jpi,jpj,nlay_i,jpl) ) 87 ! 88 ! --- If ice drift field is too fast, use an appropriate time step for advection (CFL test for stability) --- ! 89 zcfl = MAXVAL( ABS( pu_ice(:,:) ) * rdt_ice * r1_e1u(:,:) ) 90 zcfl = MAX( zcfl, MAXVAL( ABS( pv_ice(:,:) ) * rdt_ice * r1_e2v(:,:) ) ) 91 IF( lk_mpp ) CALL mpp_max( zcfl ) 92 93 IF( zcfl > 0.5 ) THEN ; initad = 2 ; zusnit = 0.5_wp 94 ELSE ; initad = 1 ; zusnit = 1.0_wp 95 ENDIF 96 97 zarea(:,:) = e1e2t(:,:) 98 !------------------------- 99 ! transported fields 100 !------------------------- 101 z0opw(:,:,1) = pato_i(:,:) * e1e2t(:,:) ! Open water area 102 DO jl = 1, jpl 103 z0snw(:,:,jl) = pv_s (:,:, jl) * e1e2t(:,:) ! Snow volume 104 z0ice(:,:,jl) = pv_i (:,:, jl) * e1e2t(:,:) ! Ice volume 105 z0ai (:,:,jl) = pa_i (:,:, jl) * e1e2t(:,:) ! Ice area 106 z0smi(:,:,jl) = psmv_i(:,:, jl) * e1e2t(:,:) ! Salt content 107 z0oi (:,:,jl) = poa_i (:,:, jl) * e1e2t(:,:) ! Age content 108 z0es (:,:,jl) = pe_s (:,:,1,jl) * e1e2t(:,:) ! Snow heat content 109 DO jk = 1, nlay_i 110 z0ei(:,:,jk,jl) = pe_i(:,:,jk,jl) * e1e2t(:,:) ! Ice heat content 111 END DO 112 IF ( nn_pnd_scheme > 0 ) THEN 113 z0ap(:,:,jl) = pa_ip(:,:,jl) * e1e2t(:,:) ! Melt pond fraction 114 z0vp(:,:,jl) = pv_ip(:,:,jl) * e1e2t(:,:) ! Melt pond volume 115 ENDIF 116 END DO 117 118 ! !--------------------------------------------! 119 IF( MOD( ( kt - 1) / nn_fsbc , 2 ) == 0 ) THEN !== odd ice time step: adv_x then adv_y ==! 120 ! !--------------------------------------------! 121 DO jt = 1, initad 122 CALL adv_x( zusnit, pu_ice, 1._wp, zarea, z0opw (:,:,1), sxopw(:,:), & !--- ice open water area 123 & sxxopw(:,:) , syopw(:,:), syyopw(:,:), sxyopw(:,:) ) 124 CALL adv_y( zusnit, pv_ice, 0._wp, zarea, z0opw (:,:,1), sxopw(:,:), & 125 & sxxopw(:,:) , syopw(:,:), syyopw(:,:), sxyopw(:,:) ) 126 DO jl = 1, jpl 127 CALL adv_x( zusnit, pu_ice, 1._wp, zarea, z0ice (:,:,jl), sxice(:,:,jl), & !--- ice volume --- 128 & sxxice(:,:,jl), syice(:,:,jl), syyice(:,:,jl), sxyice(:,:,jl) ) 129 CALL adv_y( zusnit, pv_ice, 0._wp, zarea, z0ice (:,:,jl), sxice(:,:,jl), & 130 & sxxice(:,:,jl), syice(:,:,jl), syyice(:,:,jl), sxyice(:,:,jl) ) 131 CALL adv_x( zusnit, pu_ice, 1._wp, zarea, z0snw (:,:,jl), sxsn (:,:,jl), & !--- snow volume --- 132 & sxxsn (:,:,jl), sysn (:,:,jl), syysn (:,:,jl), sxysn (:,:,jl) ) 133 CALL adv_y( zusnit, pv_ice, 0._wp, zarea, z0snw (:,:,jl), sxsn (:,:,jl), & 134 & sxxsn (:,:,jl), sysn (:,:,jl), syysn (:,:,jl), sxysn (:,:,jl) ) 135 CALL adv_x( zusnit, pu_ice, 1._wp, zarea, z0smi (:,:,jl), sxsal(:,:,jl), & !--- ice salinity --- 136 & sxxsal(:,:,jl), sysal(:,:,jl), syysal(:,:,jl), sxysal(:,:,jl) ) 137 CALL adv_y( zusnit, pv_ice, 0._wp, zarea, z0smi (:,:,jl), sxsal(:,:,jl), & 138 & sxxsal(:,:,jl), sysal(:,:,jl), syysal(:,:,jl), sxysal(:,:,jl) ) 139 CALL adv_x( zusnit, pu_ice, 1._wp, zarea, z0oi (:,:,jl), sxage(:,:,jl), & !--- ice age --- 140 & sxxage(:,:,jl), syage(:,:,jl), syyage(:,:,jl), sxyage(:,:,jl) ) 141 CALL adv_y( zusnit, pv_ice, 0._wp, zarea, z0oi (:,:,jl), sxage(:,:,jl), & 142 & sxxage(:,:,jl), syage(:,:,jl), syyage(:,:,jl), sxyage(:,:,jl) ) 143 CALL adv_x( zusnit, pu_ice, 1._wp, zarea, z0ai (:,:,jl), sxa (:,:,jl), & !--- ice concentrations --- 144 & sxxa (:,:,jl), sya (:,:,jl), syya (:,:,jl), sxya (:,:,jl) ) 145 CALL adv_y( zusnit, pv_ice, 0._wp, zarea, z0ai (:,:,jl), sxa (:,:,jl), & 146 & sxxa (:,:,jl), sya (:,:,jl), syya (:,:,jl), sxya (:,:,jl) ) 147 CALL adv_x( zusnit, pu_ice, 1._wp, zarea, z0es (:,:,jl), sxc0 (:,:,jl), & !--- snow heat contents --- 148 & sxxc0 (:,:,jl), syc0 (:,:,jl), syyc0 (:,:,jl), sxyc0 (:,:,jl) ) 149 CALL adv_y( zusnit, pv_ice, 0._wp, zarea, z0es (:,:,jl), sxc0 (:,:,jl), & 150 & sxxc0 (:,:,jl), syc0 (:,:,jl), syyc0 (:,:,jl), sxyc0 (:,:,jl) ) 151 DO jk = 1, nlay_i !--- ice heat contents --- 152 CALL adv_x( zusnit, pu_ice, 1._wp, zarea, z0ei(:,:,jk,jl), sxe (:,:,jk,jl), & 153 & sxxe(:,:,jk,jl), sye (:,:,jk,jl), & 154 & syye(:,:,jk,jl), sxye(:,:,jk,jl) ) 155 CALL adv_y( zusnit, pv_ice, 0._wp, zarea, z0ei(:,:,jk,jl), sxe (:,:,jk,jl), & 156 & sxxe(:,:,jk,jl), sye (:,:,jk,jl), & 157 & syye(:,:,jk,jl), sxye(:,:,jk,jl) ) 158 END DO 159 IF ( nn_pnd_scheme > 0 ) THEN 160 CALL adv_x( zusnit, pu_ice, 1._wp, zarea, z0ap (:,:,jl), sxap (:,:,jl), & !--- melt pond fraction -- 161 & sxxap (:,:,jl), syap (:,:,jl), syyap (:,:,jl), sxyap (:,:,jl) ) 162 CALL adv_y( zusnit, pv_ice, 0._wp, zarea, z0ap (:,:,jl), sxap (:,:,jl), & 163 & sxxap (:,:,jl), syap (:,:,jl), syyap (:,:,jl), sxyap (:,:,jl) ) 164 CALL adv_x( zusnit, pu_ice, 1._wp, zarea, z0vp (:,:,jl), sxvp (:,:,jl), & !--- melt pond volume -- 165 & sxxvp (:,:,jl), syvp (:,:,jl), syyvp (:,:,jl), sxyvp (:,:,jl) ) 166 CALL adv_y( zusnit, pv_ice, 0._wp, zarea, z0vp (:,:,jl), sxvp (:,:,jl), & 167 & sxxvp (:,:,jl), syvp (:,:,jl), syyvp (:,:,jl), sxyvp (:,:,jl) ) 168 ENDIF 169 END DO 170 END DO 171 ! !--------------------------------------------! 172 ELSE !== even ice time step: adv_y then adv_x ==! 173 ! !--------------------------------------------! 174 DO jt = 1, initad 175 CALL adv_y( zusnit, pv_ice, 1._wp, zarea, z0opw (:,:,1), sxopw(:,:), & !--- ice open water area 176 & sxxopw(:,:) , syopw(:,:), syyopw(:,:), sxyopw(:,:) ) 177 CALL adv_x( zusnit, pu_ice, 0._wp, zarea, z0opw (:,:,1), sxopw(:,:), & 178 & sxxopw(:,:) , syopw(:,:), syyopw(:,:), sxyopw(:,:) ) 179 DO jl = 1, jpl 180 CALL adv_y( zusnit, pv_ice, 1._wp, zarea, z0ice (:,:,jl), sxice(:,:,jl), & !--- ice volume --- 181 & sxxice(:,:,jl), syice(:,:,jl), syyice(:,:,jl), sxyice(:,:,jl) ) 182 CALL adv_x( zusnit, pu_ice, 0._wp, zarea, z0ice (:,:,jl), sxice(:,:,jl), & 183 & sxxice(:,:,jl), syice(:,:,jl), syyice(:,:,jl), sxyice(:,:,jl) ) 184 CALL adv_y( zusnit, pv_ice, 1._wp, zarea, z0snw (:,:,jl), sxsn (:,:,jl), & !--- snow volume --- 185 & sxxsn (:,:,jl), sysn (:,:,jl), syysn (:,:,jl), sxysn (:,:,jl) ) 186 CALL adv_x( zusnit, pu_ice, 0._wp, zarea, z0snw (:,:,jl), sxsn (:,:,jl), & 187 & sxxsn (:,:,jl), sysn (:,:,jl), syysn (:,:,jl), sxysn (:,:,jl) ) 188 CALL adv_y( zusnit, pv_ice, 1._wp, zarea, z0smi (:,:,jl), sxsal(:,:,jl), & !--- ice salinity --- 189 & sxxsal(:,:,jl), sysal(:,:,jl), syysal(:,:,jl), sxysal(:,:,jl) ) 190 CALL adv_x( zusnit, pu_ice, 0._wp, zarea, z0smi (:,:,jl), sxsal(:,:,jl), & 191 & sxxsal(:,:,jl), sysal(:,:,jl), syysal(:,:,jl), sxysal(:,:,jl) ) 192 CALL adv_y( zusnit, pv_ice, 1._wp, zarea, z0oi (:,:,jl), sxage(:,:,jl), & !--- ice age --- 193 & sxxage(:,:,jl), syage(:,:,jl), syyage(:,:,jl), sxyage(:,:,jl) ) 194 CALL adv_x( zusnit, pu_ice, 0._wp, zarea, z0oi (:,:,jl), sxage(:,:,jl), & 195 & sxxage(:,:,jl), syage(:,:,jl), syyage(:,:,jl), sxyage(:,:,jl) ) 196 CALL adv_y( zusnit, pv_ice, 1._wp, zarea, z0ai (:,:,jl), sxa (:,:,jl), & !--- ice concentrations --- 197 & sxxa (:,:,jl), sya (:,:,jl), syya (:,:,jl), sxya (:,:,jl) ) 198 CALL adv_x( zusnit, pu_ice, 0._wp, zarea, z0ai (:,:,jl), sxa (:,:,jl), & 199 & sxxa (:,:,jl), sya (:,:,jl), syya (:,:,jl), sxya (:,:,jl) ) 200 CALL adv_y( zusnit, pv_ice, 1._wp, zarea, z0es (:,:,jl), sxc0 (:,:,jl), & !--- snow heat contents --- 201 & sxxc0 (:,:,jl), syc0 (:,:,jl), syyc0 (:,:,jl), sxyc0 (:,:,jl) ) 202 CALL adv_x( zusnit, pu_ice, 0._wp, zarea, z0es (:,:,jl), sxc0 (:,:,jl), & 203 & sxxc0 (:,:,jl), syc0 (:,:,jl), syyc0 (:,:,jl), sxyc0 (:,:,jl) ) 204 DO jk = 1, nlay_i !--- ice heat contents --- 205 CALL adv_y( zusnit, pv_ice, 1._wp, zarea, z0ei(:,:,jk,jl), sxe (:,:,jk,jl), & 206 & sxxe(:,:,jk,jl), sye (:,:,jk,jl), & 207 & syye(:,:,jk,jl), sxye(:,:,jk,jl) ) 208 CALL adv_x( zusnit, pu_ice, 0._wp, zarea, z0ei(:,:,jk,jl), sxe (:,:,jk,jl), & 209 & sxxe(:,:,jk,jl), sye (:,:,jk,jl), & 210 & syye(:,:,jk,jl), sxye(:,:,jk,jl) ) 211 END DO 212 IF ( nn_pnd_scheme > 0 ) THEN 213 CALL adv_y( zusnit, pv_ice, 1._wp, zarea, z0ap (:,:,jl), sxap (:,:,jl), & !--- melt pond fraction --- 214 & sxxap (:,:,jl), syap (:,:,jl), syyap (:,:,jl), sxyap (:,:,jl) ) 215 CALL adv_x( zusnit, pu_ice, 0._wp, zarea, z0ap (:,:,jl), sxap (:,:,jl), & 216 & sxxap (:,:,jl), syap (:,:,jl), syyap (:,:,jl), sxyap (:,:,jl) ) 217 CALL adv_y( zusnit, pv_ice, 1._wp, zarea, z0vp (:,:,jl), sxvp (:,:,jl), & !--- melt pond volume --- 218 & sxxvp (:,:,jl), syvp (:,:,jl), syyvp (:,:,jl), sxyvp (:,:,jl) ) 219 CALL adv_x( zusnit, pu_ice, 0._wp, zarea, z0vp (:,:,jl), sxvp (:,:,jl), & 220 & sxxvp (:,:,jl), syvp (:,:,jl), syyvp (:,:,jl), sxyvp (:,:,jl) ) 221 ENDIF 222 END DO 223 END DO 224 ENDIF 225 226 !------------------------------------------- 227 ! Recover the properties from their contents 228 !------------------------------------------- 229 pato_i(:,:) = z0opw(:,:,1) * r1_e1e2t(:,:) 230 DO jl = 1, jpl 231 pv_i (:,:, jl) = z0ice(:,:,jl) * r1_e1e2t(:,:) 232 pv_s (:,:, jl) = z0snw(:,:,jl) * r1_e1e2t(:,:) 233 psmv_i(:,:, jl) = z0smi(:,:,jl) * r1_e1e2t(:,:) 234 poa_i (:,:, jl) = z0oi (:,:,jl) * r1_e1e2t(:,:) 235 pa_i (:,:, jl) = z0ai (:,:,jl) * r1_e1e2t(:,:) 236 pe_s (:,:,1,jl) = z0es (:,:,jl) * r1_e1e2t(:,:) 237 DO jk = 1, nlay_i 238 pe_i(:,:,jk,jl) = z0ei(:,:,jk,jl) * r1_e1e2t(:,:) 239 END DO 240 ! MV MP 2016 241 IF ( nn_pnd_scheme > 0 ) THEN 242 pa_ip (:,:,jl) = z0ap (:,:,jl) * r1_e1e2t(:,:) 243 pv_ip (:,:,jl) = z0vp (:,:,jl) * r1_e1e2t(:,:) 244 ENDIF 245 ! END MV MP 2016 246 END DO 247 ! 248 DEALLOCATE( zarea , z0opw , z0ice, z0snw , z0ai , z0es , z0smi , z0oi , z0ap , z0vp , z0ei ) 249 ! 250 END SUBROUTINE ice_adv_prather 251 252 SUBROUTINE adv_x( pdf, put , pcrh, psm , ps0 , & 253 & psx, psxx, psy , psyy, psxy ) 254 !!---------------------------------------------------------------------- 255 !! ** routine adv_x ** 256 !! 257 !! ** purpose : Computes and adds the advection trend to sea-ice 258 !! variable on x axis 259 !!---------------------------------------------------------------------- 55 260 REAL(wp) , INTENT(in ) :: pdf ! reduction factor for the time step 56 REAL(wp) , INTENT(in ) :: pcrh ! call ice_adv_x then ice_adv_y (=1) or the opposite (=0)261 REAL(wp) , INTENT(in ) :: pcrh ! call adv_x then adv_y (=1) or the opposite (=0) 57 262 REAL(wp), DIMENSION(jpi,jpj), INTENT(in ) :: put ! i-direction ice velocity at U-point [m/s] 58 263 REAL(wp), DIMENSION(jpi,jpj), INTENT(inout) :: psm ! area … … 209 414 210 415 IF(ln_ctl) THEN 211 CALL prt_ctl(tab2d_1=psm , clinfo1=' ice_adv_x: psm :', tab2d_2=ps0 , clinfo2=' ps0 : ')212 CALL prt_ctl(tab2d_1=psx , clinfo1=' ice_adv_x: psx :', tab2d_2=psxx, clinfo2=' psxx : ')213 CALL prt_ctl(tab2d_1=psy , clinfo1=' ice_adv_x: psy :', tab2d_2=psyy, clinfo2=' psyy : ')214 CALL prt_ctl(tab2d_1=psxy , clinfo1=' ice_adv_x: psxy :')416 CALL prt_ctl(tab2d_1=psm , clinfo1=' adv_x: psm :', tab2d_2=ps0 , clinfo2=' ps0 : ') 417 CALL prt_ctl(tab2d_1=psx , clinfo1=' adv_x: psx :', tab2d_2=psxx, clinfo2=' psxx : ') 418 CALL prt_ctl(tab2d_1=psy , clinfo1=' adv_x: psy :', tab2d_2=psyy, clinfo2=' psyy : ') 419 CALL prt_ctl(tab2d_1=psxy , clinfo1=' adv_x: psxy :') 215 420 ENDIF 216 421 ! 217 END SUBROUTINE ice_adv_x218 219 220 SUBROUTINE ice_adv_y( pdf, pvt , pcrh, psm , ps0 , &221 & 422 END SUBROUTINE adv_x 423 424 425 SUBROUTINE adv_y( pdf, pvt , pcrh, psm , ps0 , & 426 & psx, psxx, psy , psyy, psxy ) 222 427 !!--------------------------------------------------------------------- 223 !! ** routine ice_adv_y **428 !! ** routine adv_y ** 224 429 !! 225 430 !! ** purpose : Computes and adds the advection trend to sea-ice 226 !! variable on y axis 227 !! 228 !! ** method : Uses Prather second order scheme that advects tracers 229 !! but also their quadratic forms. The method preserves 230 !! tracer structures by conserving second order moments. 231 !! 232 !! Reference: Prather, 1986, JGR, 91, D6. 6671-6681. 431 !! variable on y axis 233 432 !!--------------------------------------------------------------------- 234 433 REAL(wp) , INTENT(in ) :: pdf ! reduction factor for the time step 235 REAL(wp) , INTENT(in ) :: pcrh ! call ice_adv_x then ice_adv_y (=1) or the opposite (=0)434 REAL(wp) , INTENT(in ) :: pcrh ! call adv_x then adv_y (=1) or the opposite (=0) 236 435 REAL(wp), DIMENSION(jpi,jpj), INTENT(in ) :: pvt ! j-direction ice velocity at V-point [m/s] 237 436 REAL(wp), DIMENSION(jpi,jpj), INTENT(inout) :: psm ! area … … 389 588 390 589 IF(ln_ctl) THEN 391 CALL prt_ctl(tab2d_1=psm , clinfo1=' ice_adv_y: psm :', tab2d_2=ps0 , clinfo2=' ps0 : ')392 CALL prt_ctl(tab2d_1=psx , clinfo1=' ice_adv_y: psx :', tab2d_2=psxx, clinfo2=' psxx : ')393 CALL prt_ctl(tab2d_1=psy , clinfo1=' ice_adv_y: psy :', tab2d_2=psyy, clinfo2=' psyy : ')394 CALL prt_ctl(tab2d_1=psxy , clinfo1=' ice_adv_y: psxy :')590 CALL prt_ctl(tab2d_1=psm , clinfo1=' adv_y: psm :', tab2d_2=ps0 , clinfo2=' ps0 : ') 591 CALL prt_ctl(tab2d_1=psx , clinfo1=' adv_y: psx :', tab2d_2=psxx, clinfo2=' psxx : ') 592 CALL prt_ctl(tab2d_1=psy , clinfo1=' adv_y: psy :', tab2d_2=psyy, clinfo2=' psyy : ') 593 CALL prt_ctl(tab2d_1=psxy , clinfo1=' adv_y: psxy :') 395 594 ENDIF 396 595 ! 397 END SUBROUTINE ice_adv_y596 END SUBROUTINE adv_y 398 597 399 598 #else
Note: See TracChangeset
for help on using the changeset viewer.